filter_not_supported_for_table_stats // filter is not supported for table stats monitors
segmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors
sql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors
time_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
MonitorDefinition
Show child attributes
{"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":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af3102ba8d5ba2dc2cdd3da","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Documentation","count":451},{"language":"default","tag":"Developer API","count":343},{"language":"default","tag":"REST API","count":332},{"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":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"global.css","content":".dark img[src^=\"/images/\"]{background:white;border-radius:0.5rem;padding:4px}"}],"page":{"pagePath":"api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors","slug":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors","pageMetadata":{"title":"ListConfigsMonitors","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/custom-monitors/v1/by-config","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors","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":"ListConfigsMonitors","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/custom-monitors/v1/by-config","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/synq-15/7fe5b7dda612017d/region.js"],"openApiReferenceData":{"operation":{"tags":["synq.monitors.custom_monitors.v1.CustomMonitorsService"],"summary":"ListConfigsMonitors","operationId":"synq.monitors.custom_monitors.v1.CustomMonitorsService.ListConfigsMonitors","parameters":["930d16e9-d72c-4095-938e-b4d26acd55eb"],"responses":{"200":"20da0d64-1c3f-4578-bde4-c4f849718d12"},"method":"get","type":"path","servers":["5f72852c-93ea-4575-903f-972232270447","1876e40d-c70d-44ee-8a61-b328599bcefe","d65d0c8d-29c0-448c-8683-7e575e96d0de"],"security":["9b5b53cb-3c67-4028-832e-21771047f6e7"],"path":"/api/monitors/custom-monitors/v1/by-config","baseUrlOptions":["https://developer.synq.io","https://api.us.synq.io","https://api.au.synq.io"],"title":"ListConfigsMonitors","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"930d16e9-d72c-4095-938e-b4d26acd55eb":{"name":"configIds","in":"query","schema":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX]","typeLabel":"string"},"title":"config_ids","uniqueKey":"","typeLabel":"string[]"}}},"responses":{"20da0d64-1c3f-4578-bde4-c4f849718d12":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"monitors":{"type":"array","items":{"oneOf":[{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","categoryDistribution","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.0.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.anomalyEngine","typeLabel":"anomaly_engine · object"},"categoryDistribution":{"type":"object","properties":{"field":{"type":"string","description":"Categorical column whose value distribution is monitored.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.categoryDistribution.field","typeLabel":"string"},"topKLimit":{"type":"integer","minimum":0,"format":"int32","description":"Max categories to track; the rest are aggregated into \"other\". 0 = use default.","uniqueKey":"monitors.items.[INDEX].oneOf.0.categoryDistribution.topKLimit","typeLabel":"integer\u003cint32>"}},"title":"category_distribution","required":["field"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.categoryDistribution","typeLabel":"category_distribution · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.0.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.0.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.0.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.0.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.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":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.0.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.0.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.0.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.0.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.0.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.0.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.0.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.0.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.0.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.0.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.0.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.0.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.0.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.0.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.0.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.0.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.0.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.0.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.0.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.0.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.0.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.0","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","categoryDistribution","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.1.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.anomalyEngine","typeLabel":"anomaly_engine · object"},"categoryDistribution":{"type":"object","properties":{"field":{"type":"string","description":"Categorical column whose value distribution is monitored.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.categoryDistribution.field","typeLabel":"string"},"topKLimit":{"type":"integer","minimum":0,"format":"int32","description":"Max categories to track; the rest are aggregated into \"other\". 0 = use default.","uniqueKey":"monitors.items.[INDEX].oneOf.1.categoryDistribution.topKLimit","typeLabel":"integer\u003cint32>"}},"title":"category_distribution","required":["field"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.categoryDistribution","typeLabel":"category_distribution · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.1.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.1.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.1.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.1.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.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":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.1.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.1.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.1.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.1.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.1.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.1.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.1.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.1.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.1.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.1.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.1.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.1.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.1.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.1.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.1.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.1.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.1.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.1.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.1.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.1.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.1.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.1","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","categoryDistribution","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.2.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.anomalyEngine","typeLabel":"anomaly_engine · object"},"categoryDistribution":{"type":"object","properties":{"field":{"type":"string","description":"Categorical column whose value distribution is monitored.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.categoryDistribution.field","typeLabel":"string"},"topKLimit":{"type":"integer","minimum":0,"format":"int32","description":"Max categories to track; the rest are aggregated into \"other\". 0 = use default.","uniqueKey":"monitors.items.[INDEX].oneOf.2.categoryDistribution.topKLimit","typeLabel":"integer\u003cint32>"}},"title":"category_distribution","required":["field"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.categoryDistribution","typeLabel":"category_distribution · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.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":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.2.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.2.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.2.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.2.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.2.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.2.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.2.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.2.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.2.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.2.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.2.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.2.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.2.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.2.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.2.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.2.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.2.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.2.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.2.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.2.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.2.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.2","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","customNumeric","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.3.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.anomalyEngine","typeLabel":"anomaly_engine · object"},"customNumeric":{"type":"object","properties":{"metricAggregation":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.3.customNumeric.metricAggregation","typeLabel":"string"},"neverNegative":{"type":"boolean","description":"The aggregation is never negative, so the anomaly engine never forecasts below 0.","uniqueKey":"monitors.items.[INDEX].oneOf.3.customNumeric.neverNegative","typeLabel":"boolean"}},"title":"custom_numeric","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.customNumeric","typeLabel":"custom_numeric · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.3.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.3.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.3.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.3.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.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":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.3.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.3.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.3.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.3.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.3.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.3.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.3.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.3.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.3.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.3.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.3.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.3.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.3.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.3.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.3.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.3.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.3.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.3.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.3.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.3.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.3.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.3","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","customNumeric","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.4.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.anomalyEngine","typeLabel":"anomaly_engine · object"},"customNumeric":{"type":"object","properties":{"metricAggregation":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.4.customNumeric.metricAggregation","typeLabel":"string"},"neverNegative":{"type":"boolean","description":"The aggregation is never negative, so the anomaly engine never forecasts below 0.","uniqueKey":"monitors.items.[INDEX].oneOf.4.customNumeric.neverNegative","typeLabel":"boolean"}},"title":"custom_numeric","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.customNumeric","typeLabel":"custom_numeric · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.4.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.4.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.4.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.4.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.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":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.4.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.4.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.4.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.4.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.4.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.4.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.4.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.4.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.4.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.4.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.4.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.4.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.4.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.4.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.4.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.4.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.4.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.4.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.4.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.4.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.4.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.4","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","customNumeric","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.5.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.anomalyEngine","typeLabel":"anomaly_engine · object"},"customNumeric":{"type":"object","properties":{"metricAggregation":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.5.customNumeric.metricAggregation","typeLabel":"string"},"neverNegative":{"type":"boolean","description":"The aggregation is never negative, so the anomaly engine never forecasts below 0.","uniqueKey":"monitors.items.[INDEX].oneOf.5.customNumeric.neverNegative","typeLabel":"boolean"}},"title":"custom_numeric","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.customNumeric","typeLabel":"custom_numeric · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.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":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.5.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.5.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.5.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.5.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.5.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.5.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.5.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.5.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.5.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.5.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.5.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.5.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.5.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.5.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.5.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.5.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.5.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.5.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.5.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.5.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.5.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.5","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","fieldStats","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.6.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.anomalyEngine","typeLabel":"anomaly_engine · object"},"fieldStats":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fields.items.[INDEX]","typeLabel":"string"},"description":"Columns monitored with every metric of their data type. A column may appear here or in\n field_options, not both. At least one of fields / field_options must be non-empty.","uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fields","typeLabel":"string[]"},"fieldOptions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Column name, as in the table schema.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions.items.[INDEX].field","typeLabel":"string"},"metrics":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions.items.[INDEX].metrics.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":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX]","typeLabel":"MetricOption · object"},"minItems":1,"description":"Metrics to predict on this column, each with its sensitivity. Must be metrics that\n exist for the column's data type (e.g. mean is not available on a text column):\n - text: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, NUM_EMPTY, PCT_EMPTY.\n - numeric: the text metrics plus MEAN, MIN, MAX, MEDIAN, STDDEV.\n - date and time: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, MIN, MAX.\n A metric the column's data warehouse cannot compute is skipped (Redshift does not\n compute NUM_UNIQUE or PCT_UNIQUE on numeric columns), so a column whose whole selection\n is skipped produces no predictions.","uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions.items.[INDEX].metrics","typeLabel":"MetricOption · object[]"}},"title":"FieldOption","required":["field"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions.items.[INDEX]","typeLabel":"FieldOption · object"},"description":"Columns monitored with an explicit metric selection. The sensitivity of each metric\n applies to that metric instead of the monitor's sensitivity. Changing the selection keeps\n the history of the metrics that remain and does not reset the monitor: a removed metric\n stops being predicted, and adding it back resumes it.","uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats.fieldOptions","typeLabel":"FieldOption · object[]"}},"title":"field_stats","additionalProperties":false,"description":"field_stats_requires_a_column // at least one of fields or field_options is required\n","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.fieldStats","typeLabel":"field_stats · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.6.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.6.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.6.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.6.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.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":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.6.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.6.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.6.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.6.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.6.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.6.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.6.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.6.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.6.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.6.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.6.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.6.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.6.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.6.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.6.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.6.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.6.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.6.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.6.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.6.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.6.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.6","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","fieldStats","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.7.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.anomalyEngine","typeLabel":"anomaly_engine · object"},"fieldStats":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fields.items.[INDEX]","typeLabel":"string"},"description":"Columns monitored with every metric of their data type. A column may appear here or in\n field_options, not both. At least one of fields / field_options must be non-empty.","uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fields","typeLabel":"string[]"},"fieldOptions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Column name, as in the table schema.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions.items.[INDEX].field","typeLabel":"string"},"metrics":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions.items.[INDEX].metrics.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":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX]","typeLabel":"MetricOption · object"},"minItems":1,"description":"Metrics to predict on this column, each with its sensitivity. Must be metrics that\n exist for the column's data type (e.g. mean is not available on a text column):\n - text: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, NUM_EMPTY, PCT_EMPTY.\n - numeric: the text metrics plus MEAN, MIN, MAX, MEDIAN, STDDEV.\n - date and time: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, MIN, MAX.\n A metric the column's data warehouse cannot compute is skipped (Redshift does not\n compute NUM_UNIQUE or PCT_UNIQUE on numeric columns), so a column whose whole selection\n is skipped produces no predictions.","uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions.items.[INDEX].metrics","typeLabel":"MetricOption · object[]"}},"title":"FieldOption","required":["field"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions.items.[INDEX]","typeLabel":"FieldOption · object"},"description":"Columns monitored with an explicit metric selection. The sensitivity of each metric\n applies to that metric instead of the monitor's sensitivity. Changing the selection keeps\n the history of the metrics that remain and does not reset the monitor: a removed metric\n stops being predicted, and adding it back resumes it.","uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats.fieldOptions","typeLabel":"FieldOption · object[]"}},"title":"field_stats","additionalProperties":false,"description":"field_stats_requires_a_column // at least one of fields or field_options is required\n","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.fieldStats","typeLabel":"field_stats · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.7.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.7.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.7.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.7.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.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":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.7.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.7.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.7.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.7.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.7.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.7.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.7.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.7.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.7.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.7.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.7.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.7.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.7.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.7.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.7.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.7.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.7.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.7.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.7.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.7.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.7.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.7","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","fieldStats","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.8.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.anomalyEngine","typeLabel":"anomaly_engine · object"},"fieldStats":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fields.items.[INDEX]","typeLabel":"string"},"description":"Columns monitored with every metric of their data type. A column may appear here or in\n field_options, not both. At least one of fields / field_options must be non-empty.","uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fields","typeLabel":"string[]"},"fieldOptions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Column name, as in the table schema.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions.items.[INDEX].field","typeLabel":"string"},"metrics":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions.items.[INDEX].metrics.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":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX]","typeLabel":"MetricOption · object"},"minItems":1,"description":"Metrics to predict on this column, each with its sensitivity. Must be metrics that\n exist for the column's data type (e.g. mean is not available on a text column):\n - text: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, NUM_EMPTY, PCT_EMPTY.\n - numeric: the text metrics plus MEAN, MIN, MAX, MEDIAN, STDDEV.\n - date and time: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, MIN, MAX.\n A metric the column's data warehouse cannot compute is skipped (Redshift does not\n compute NUM_UNIQUE or PCT_UNIQUE on numeric columns), so a column whose whole selection\n is skipped produces no predictions.","uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions.items.[INDEX].metrics","typeLabel":"MetricOption · object[]"}},"title":"FieldOption","required":["field"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions.items.[INDEX]","typeLabel":"FieldOption · object"},"description":"Columns monitored with an explicit metric selection. The sensitivity of each metric\n applies to that metric instead of the monitor's sensitivity. Changing the selection keeps\n the history of the metrics that remain and does not reset the monitor: a removed metric\n stops being predicted, and adding it back resumes it.","uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats.fieldOptions","typeLabel":"FieldOption · object[]"}},"title":"field_stats","additionalProperties":false,"description":"field_stats_requires_a_column // at least one of fields or field_options is required\n","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.fieldStats","typeLabel":"field_stats · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.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":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.8.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.8.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.8.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.8.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.8.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.8.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.8.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.8.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.8.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.8.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.8.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.8.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.8.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.8.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.8.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.8.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.8.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.8.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.8.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.8.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.8.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.8","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","freshness","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.9.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.anomalyEngine","typeLabel":"anomaly_engine · object"},"freshness":{"type":"object","properties":{"expression":{"type":"string","description":"The expression to filter on (eg. \"created_at\", \"meta['created_at']\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.freshness.expression","typeLabel":"string"}},"title":"freshness","required":["expression"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.freshness","typeLabel":"freshness · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.9.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.9.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.9.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.9.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.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":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.9.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.9.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.9.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.9.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.9.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.9.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.9.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.9.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.9.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.9.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.9.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.9.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.9.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.9.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.9.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.9.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.9.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.9.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.9.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.9.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.9.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.9","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","freshness","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.10.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.anomalyEngine","typeLabel":"anomaly_engine · object"},"freshness":{"type":"object","properties":{"expression":{"type":"string","description":"The expression to filter on (eg. \"created_at\", \"meta['created_at']\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.freshness.expression","typeLabel":"string"}},"title":"freshness","required":["expression"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.freshness","typeLabel":"freshness · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.10.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.10.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.10.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.10.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.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":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.10.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.10.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.10.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.10.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.10.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.10.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.10.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.10.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.10.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.10.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.10.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.10.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.10.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.10.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.10.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.10.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.10.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.10.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.10.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.10.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.10.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.10","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","freshness","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.11.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.anomalyEngine","typeLabel":"anomaly_engine · object"},"freshness":{"type":"object","properties":{"expression":{"type":"string","description":"The expression to filter on (eg. \"created_at\", \"meta['created_at']\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.freshness.expression","typeLabel":"string"}},"title":"freshness","required":["expression"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.freshness","typeLabel":"freshness · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.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":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.11.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.11.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.11.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.11.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.11.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.11.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.11.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.11.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.11.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.11.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.11.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.11.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.11.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.11.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.11.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.11.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.11.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.11.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.11.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.11.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.11.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.11","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","tableStats","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.12.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.anomalyEngine","typeLabel":"anomaly_engine · object"},"tableStats":{"oneOf":[{"type":"object","title":"table_stats","required":["field"],"properties":{"field":{"type":"string","title":"field","minLength":1,"description":"Timestamp column name, e.g. \"updated_at\" (used as max(updated_at)).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0.field","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0.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":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.0","typeLabel":"table_stats · object"},{"type":"object","title":"table_stats","required":["sql"],"properties":{"sql":{"type":"string","title":"sql","minLength":1,"description":"Row-level SQL expression yielding a timestamp, e.g.\n \"coalesce(updated_at, created_at)\". Do NOT wrap it in an aggregate —\n max() is applied automatically.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1.sql","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1.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":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats.oneOf.1","typeLabel":"table_stats · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.tableStats","typeLabel":"table_stats · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.12.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.12.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.12.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.12.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.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":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.12.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.12.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.12.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.12.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.12.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.12.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.12.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.12.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.12.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.12.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.12.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.12.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.12.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.12.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.12.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.12.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.12.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.12.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.12.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.12.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.12.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.12","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","tableStats","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.13.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.anomalyEngine","typeLabel":"anomaly_engine · object"},"tableStats":{"oneOf":[{"type":"object","title":"table_stats","required":["field"],"properties":{"field":{"type":"string","title":"field","minLength":1,"description":"Timestamp column name, e.g. \"updated_at\" (used as max(updated_at)).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0.field","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0.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":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.0","typeLabel":"table_stats · object"},{"type":"object","title":"table_stats","required":["sql"],"properties":{"sql":{"type":"string","title":"sql","minLength":1,"description":"Row-level SQL expression yielding a timestamp, e.g.\n \"coalesce(updated_at, created_at)\". Do NOT wrap it in an aggregate —\n max() is applied automatically.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1.sql","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1.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":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats.oneOf.1","typeLabel":"table_stats · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.tableStats","typeLabel":"table_stats · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.13.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.13.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.13.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.13.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.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":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.13.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.13.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.13.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.13.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.13.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.13.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.13.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.13.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.13.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.13.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.13.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.13.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.13.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.13.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.13.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.13.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.13.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.13.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.13.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.13.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.13.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.13","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","tableStats","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.14.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.anomalyEngine","typeLabel":"anomaly_engine · object"},"tableStats":{"oneOf":[{"type":"object","title":"table_stats","required":["field"],"properties":{"field":{"type":"string","title":"field","minLength":1,"description":"Timestamp column name, e.g. \"updated_at\" (used as max(updated_at)).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0.field","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0.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":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.0","typeLabel":"table_stats · object"},{"type":"object","title":"table_stats","required":["sql"],"properties":{"sql":{"type":"string","title":"sql","minLength":1,"description":"Row-level SQL expression yielding a timestamp, e.g.\n \"coalesce(updated_at, created_at)\". Do NOT wrap it in an aggregate —\n max() is applied automatically.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1.sql","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1.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":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats.oneOf.1","typeLabel":"table_stats · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.tableStats","typeLabel":"table_stats · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.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":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.14.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.14.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.14.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.14.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.14.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.14.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.14.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.14.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.14.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.14.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.14.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.14.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.14.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.14.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.14.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.14.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.14.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.14.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.14.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.14.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.14.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.14","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","volume","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.15.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.anomalyEngine","typeLabel":"anomaly_engine · object"},"volume":{"type":"object","title":"volume","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.volume","typeLabel":"volume · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.15.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.15.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.15.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.15.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.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":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.15.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.15.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.15.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.15.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.15.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.15.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.15.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.15.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.15.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.15.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.15.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.15.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.15.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.15.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.15.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.15.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.15.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.15.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.15.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.15.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.15.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.15","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","volume","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.16.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.anomalyEngine","typeLabel":"anomaly_engine · object"},"volume":{"type":"object","title":"volume","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.volume","typeLabel":"volume · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.16.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.16.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.16.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.16.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.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":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.16.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.16.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.16.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.16.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.16.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.16.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.16.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.16.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.16.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.16.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.16.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.16.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.16.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.16.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.16.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.16.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.16.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.16.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.16.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.16.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.16.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.16","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","volume","anomalyEngine"],"properties":{"anomalyEngine":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"uniqueKey":"monitors.items.[INDEX].oneOf.17.anomalyEngine.sensitivity","typeLabel":"enum\u003cstring>"}},"title":"anomaly_engine","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.anomalyEngine","typeLabel":"anomaly_engine · object"},"volume":{"type":"object","title":"volume","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.volume","typeLabel":"volume · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.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":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.17.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.17.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.17.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.17.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.17.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.17.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.17.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.17.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.17.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.17.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.17.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.17.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.17.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.17.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.17.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.17.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.17.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.17.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.17.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.17.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.17.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.17","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","categoryDistribution","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.fixedThresholds","typeLabel":"fixed_thresholds · object"},"categoryDistribution":{"type":"object","properties":{"field":{"type":"string","description":"Categorical column whose value distribution is monitored.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.categoryDistribution.field","typeLabel":"string"},"topKLimit":{"type":"integer","minimum":0,"format":"int32","description":"Max categories to track; the rest are aggregated into \"other\". 0 = use default.","uniqueKey":"monitors.items.[INDEX].oneOf.18.categoryDistribution.topKLimit","typeLabel":"integer\u003cint32>"}},"title":"category_distribution","required":["field"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.categoryDistribution","typeLabel":"category_distribution · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.18.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.18.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.18.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.18.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.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":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.18.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.18.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.18.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.18.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.18.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.18.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.18.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.18.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.18.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.18.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.18.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.18.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.18.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.18.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.18.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.18.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.18.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.18.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.18.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.18.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.18.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.18","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","categoryDistribution","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.fixedThresholds","typeLabel":"fixed_thresholds · object"},"categoryDistribution":{"type":"object","properties":{"field":{"type":"string","description":"Categorical column whose value distribution is monitored.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.categoryDistribution.field","typeLabel":"string"},"topKLimit":{"type":"integer","minimum":0,"format":"int32","description":"Max categories to track; the rest are aggregated into \"other\". 0 = use default.","uniqueKey":"monitors.items.[INDEX].oneOf.19.categoryDistribution.topKLimit","typeLabel":"integer\u003cint32>"}},"title":"category_distribution","required":["field"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.categoryDistribution","typeLabel":"category_distribution · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.19.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.19.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.19.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.19.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.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":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.19.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.19.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.19.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.19.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.19.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.19.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.19.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.19.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.19.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.19.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.19.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.19.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.19.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.19.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.19.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.19.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.19.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.19.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.19.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.19.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.19.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.19","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","categoryDistribution","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.fixedThresholds","typeLabel":"fixed_thresholds · object"},"categoryDistribution":{"type":"object","properties":{"field":{"type":"string","description":"Categorical column whose value distribution is monitored.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.categoryDistribution.field","typeLabel":"string"},"topKLimit":{"type":"integer","minimum":0,"format":"int32","description":"Max categories to track; the rest are aggregated into \"other\". 0 = use default.","uniqueKey":"monitors.items.[INDEX].oneOf.20.categoryDistribution.topKLimit","typeLabel":"integer\u003cint32>"}},"title":"category_distribution","required":["field"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.categoryDistribution","typeLabel":"category_distribution · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.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":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.20.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.20.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.20.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.20.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.20.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.20.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.20.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.20.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.20.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.20.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.20.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.20.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.20.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.20.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.20.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.20.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.20.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.20.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.20.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.20.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.20.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.20","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","customNumeric","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.fixedThresholds","typeLabel":"fixed_thresholds · object"},"customNumeric":{"type":"object","properties":{"metricAggregation":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.21.customNumeric.metricAggregation","typeLabel":"string"},"neverNegative":{"type":"boolean","description":"The aggregation is never negative, so the anomaly engine never forecasts below 0.","uniqueKey":"monitors.items.[INDEX].oneOf.21.customNumeric.neverNegative","typeLabel":"boolean"}},"title":"custom_numeric","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.customNumeric","typeLabel":"custom_numeric · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.21.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.21.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.21.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.21.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.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":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.21.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.21.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.21.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.21.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.21.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.21.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.21.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.21.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.21.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.21.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.21.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.21.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.21.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.21.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.21.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.21.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.21.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.21.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.21.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.21.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.21.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.21","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","customNumeric","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.fixedThresholds","typeLabel":"fixed_thresholds · object"},"customNumeric":{"type":"object","properties":{"metricAggregation":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.22.customNumeric.metricAggregation","typeLabel":"string"},"neverNegative":{"type":"boolean","description":"The aggregation is never negative, so the anomaly engine never forecasts below 0.","uniqueKey":"monitors.items.[INDEX].oneOf.22.customNumeric.neverNegative","typeLabel":"boolean"}},"title":"custom_numeric","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.customNumeric","typeLabel":"custom_numeric · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.22.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.22.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.22.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.22.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.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":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.22.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.22.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.22.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.22.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.22.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.22.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.22.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.22.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.22.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.22.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.22.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.22.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.22.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.22.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.22.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.22.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.22.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.22.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.22.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.22.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.22.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.22","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","customNumeric","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.fixedThresholds","typeLabel":"fixed_thresholds · object"},"customNumeric":{"type":"object","properties":{"metricAggregation":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.23.customNumeric.metricAggregation","typeLabel":"string"},"neverNegative":{"type":"boolean","description":"The aggregation is never negative, so the anomaly engine never forecasts below 0.","uniqueKey":"monitors.items.[INDEX].oneOf.23.customNumeric.neverNegative","typeLabel":"boolean"}},"title":"custom_numeric","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.customNumeric","typeLabel":"custom_numeric · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.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":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.23.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.23.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.23.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.23.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.23.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.23.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.23.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.23.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.23.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.23.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.23.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.23.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.23.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.23.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.23.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.23.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.23.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.23.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.23.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.23.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.23.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.23","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","fieldStats","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.fixedThresholds","typeLabel":"fixed_thresholds · object"},"fieldStats":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fields.items.[INDEX]","typeLabel":"string"},"description":"Columns monitored with every metric of their data type. A column may appear here or in\n field_options, not both. At least one of fields / field_options must be non-empty.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fields","typeLabel":"string[]"},"fieldOptions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Column name, as in the table schema.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions.items.[INDEX].field","typeLabel":"string"},"metrics":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions.items.[INDEX].metrics.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":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX]","typeLabel":"MetricOption · object"},"minItems":1,"description":"Metrics to predict on this column, each with its sensitivity. Must be metrics that\n exist for the column's data type (e.g. mean is not available on a text column):\n - text: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, NUM_EMPTY, PCT_EMPTY.\n - numeric: the text metrics plus MEAN, MIN, MAX, MEDIAN, STDDEV.\n - date and time: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, MIN, MAX.\n A metric the column's data warehouse cannot compute is skipped (Redshift does not\n compute NUM_UNIQUE or PCT_UNIQUE on numeric columns), so a column whose whole selection\n is skipped produces no predictions.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions.items.[INDEX].metrics","typeLabel":"MetricOption · object[]"}},"title":"FieldOption","required":["field"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions.items.[INDEX]","typeLabel":"FieldOption · object"},"description":"Columns monitored with an explicit metric selection. The sensitivity of each metric\n applies to that metric instead of the monitor's sensitivity. Changing the selection keeps\n the history of the metrics that remain and does not reset the monitor: a removed metric\n stops being predicted, and adding it back resumes it.","uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats.fieldOptions","typeLabel":"FieldOption · object[]"}},"title":"field_stats","additionalProperties":false,"description":"field_stats_requires_a_column // at least one of fields or field_options is required\n","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.fieldStats","typeLabel":"field_stats · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.24.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.24.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.24.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.24.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.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":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.24.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.24.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.24.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.24.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.24.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.24.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.24.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.24.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.24.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.24.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.24.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.24.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.24.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.24.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.24.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.24.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.24.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.24.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.24.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.24.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.24.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.24","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","fieldStats","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.fixedThresholds","typeLabel":"fixed_thresholds · object"},"fieldStats":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fields.items.[INDEX]","typeLabel":"string"},"description":"Columns monitored with every metric of their data type. A column may appear here or in\n field_options, not both. At least one of fields / field_options must be non-empty.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fields","typeLabel":"string[]"},"fieldOptions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Column name, as in the table schema.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions.items.[INDEX].field","typeLabel":"string"},"metrics":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions.items.[INDEX].metrics.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":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX]","typeLabel":"MetricOption · object"},"minItems":1,"description":"Metrics to predict on this column, each with its sensitivity. Must be metrics that\n exist for the column's data type (e.g. mean is not available on a text column):\n - text: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, NUM_EMPTY, PCT_EMPTY.\n - numeric: the text metrics plus MEAN, MIN, MAX, MEDIAN, STDDEV.\n - date and time: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, MIN, MAX.\n A metric the column's data warehouse cannot compute is skipped (Redshift does not\n compute NUM_UNIQUE or PCT_UNIQUE on numeric columns), so a column whose whole selection\n is skipped produces no predictions.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions.items.[INDEX].metrics","typeLabel":"MetricOption · object[]"}},"title":"FieldOption","required":["field"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions.items.[INDEX]","typeLabel":"FieldOption · object"},"description":"Columns monitored with an explicit metric selection. The sensitivity of each metric\n applies to that metric instead of the monitor's sensitivity. Changing the selection keeps\n the history of the metrics that remain and does not reset the monitor: a removed metric\n stops being predicted, and adding it back resumes it.","uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats.fieldOptions","typeLabel":"FieldOption · object[]"}},"title":"field_stats","additionalProperties":false,"description":"field_stats_requires_a_column // at least one of fields or field_options is required\n","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.fieldStats","typeLabel":"field_stats · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.25.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.25.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.25.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.25.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.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":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.25.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.25.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.25.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.25.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.25.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.25.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.25.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.25.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.25.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.25.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.25.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.25.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.25.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.25.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.25.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.25.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.25.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.25.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.25.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.25.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.25.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.25","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","fieldStats","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.fixedThresholds","typeLabel":"fixed_thresholds · object"},"fieldStats":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fields.items.[INDEX]","typeLabel":"string"},"description":"Columns monitored with every metric of their data type. A column may appear here or in\n field_options, not both. At least one of fields / field_options must be non-empty.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fields","typeLabel":"string[]"},"fieldOptions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Column name, as in the table schema.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions.items.[INDEX].field","typeLabel":"string"},"metrics":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions.items.[INDEX].metrics.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":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions.items.[INDEX].metrics.items.[INDEX]","typeLabel":"MetricOption · object"},"minItems":1,"description":"Metrics to predict on this column, each with its sensitivity. Must be metrics that\n exist for the column's data type (e.g. mean is not available on a text column):\n - text: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, NUM_EMPTY, PCT_EMPTY.\n - numeric: the text metrics plus MEAN, MIN, MAX, MEDIAN, STDDEV.\n - date and time: NUM_ROWS, NUM_NULL, PCT_NULL, NUM_UNIQUE, PCT_UNIQUE, MIN, MAX.\n A metric the column's data warehouse cannot compute is skipped (Redshift does not\n compute NUM_UNIQUE or PCT_UNIQUE on numeric columns), so a column whose whole selection\n is skipped produces no predictions.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions.items.[INDEX].metrics","typeLabel":"MetricOption · object[]"}},"title":"FieldOption","required":["field"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions.items.[INDEX]","typeLabel":"FieldOption · object"},"description":"Columns monitored with an explicit metric selection. The sensitivity of each metric\n applies to that metric instead of the monitor's sensitivity. Changing the selection keeps\n the history of the metrics that remain and does not reset the monitor: a removed metric\n stops being predicted, and adding it back resumes it.","uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats.fieldOptions","typeLabel":"FieldOption · object[]"}},"title":"field_stats","additionalProperties":false,"description":"field_stats_requires_a_column // at least one of fields or field_options is required\n","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.fieldStats","typeLabel":"field_stats · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.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":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.26.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.26.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.26.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.26.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.26.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.26.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.26.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.26.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.26.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.26.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.26.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.26.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.26.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.26.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.26.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.26.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.26.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.26.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.26.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.26.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.26.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.26","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","freshness","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.fixedThresholds","typeLabel":"fixed_thresholds · object"},"freshness":{"type":"object","properties":{"expression":{"type":"string","description":"The expression to filter on (eg. \"created_at\", \"meta['created_at']\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.freshness.expression","typeLabel":"string"}},"title":"freshness","required":["expression"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.freshness","typeLabel":"freshness · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.27.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.27.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.27.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.27.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.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":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.27.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.27.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.27.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.27.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.27.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.27.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.27.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.27.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.27.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.27.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.27.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.27.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.27.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.27.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.27.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.27.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.27.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.27.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.27.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.27.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.27.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.27","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","freshness","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.fixedThresholds","typeLabel":"fixed_thresholds · object"},"freshness":{"type":"object","properties":{"expression":{"type":"string","description":"The expression to filter on (eg. \"created_at\", \"meta['created_at']\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.freshness.expression","typeLabel":"string"}},"title":"freshness","required":["expression"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.freshness","typeLabel":"freshness · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.28.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.28.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.28.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.28.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.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":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.28.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.28.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.28.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.28.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.28.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.28.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.28.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.28.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.28.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.28.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.28.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.28.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.28.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.28.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.28.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.28.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.28.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.28.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.28.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.28.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.28.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.28","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","freshness","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.fixedThresholds","typeLabel":"fixed_thresholds · object"},"freshness":{"type":"object","properties":{"expression":{"type":"string","description":"The expression to filter on (eg. \"created_at\", \"meta['created_at']\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.freshness.expression","typeLabel":"string"}},"title":"freshness","required":["expression"],"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.freshness","typeLabel":"freshness · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.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":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.29.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.29.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.29.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.29.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.29.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.29.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.29.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.29.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.29.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.29.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.29.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.29.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.29.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.29.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.29.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.29.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.29.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.29.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.29.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.29.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.29.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.29","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","tableStats","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.fixedThresholds","typeLabel":"fixed_thresholds · object"},"tableStats":{"oneOf":[{"type":"object","title":"table_stats","required":["field"],"properties":{"field":{"type":"string","title":"field","minLength":1,"description":"Timestamp column name, e.g. \"updated_at\" (used as max(updated_at)).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0.field","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0.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":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.0","typeLabel":"table_stats · object"},{"type":"object","title":"table_stats","required":["sql"],"properties":{"sql":{"type":"string","title":"sql","minLength":1,"description":"Row-level SQL expression yielding a timestamp, e.g.\n \"coalesce(updated_at, created_at)\". Do NOT wrap it in an aggregate —\n max() is applied automatically.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1.sql","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1.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":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats.oneOf.1","typeLabel":"table_stats · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.tableStats","typeLabel":"table_stats · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.30.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.30.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.30.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.30.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.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":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.30.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.30.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.30.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.30.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.30.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.30.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.30.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.30.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.30.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.30.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.30.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.30.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.30.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.30.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.30.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.30.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.30.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.30.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.30.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.30.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.30.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.30","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","tableStats","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.fixedThresholds","typeLabel":"fixed_thresholds · object"},"tableStats":{"oneOf":[{"type":"object","title":"table_stats","required":["field"],"properties":{"field":{"type":"string","title":"field","minLength":1,"description":"Timestamp column name, e.g. \"updated_at\" (used as max(updated_at)).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0.field","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0.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":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.0","typeLabel":"table_stats · object"},{"type":"object","title":"table_stats","required":["sql"],"properties":{"sql":{"type":"string","title":"sql","minLength":1,"description":"Row-level SQL expression yielding a timestamp, e.g.\n \"coalesce(updated_at, created_at)\". Do NOT wrap it in an aggregate —\n max() is applied automatically.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1.sql","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1.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":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats.oneOf.1","typeLabel":"table_stats · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.tableStats","typeLabel":"table_stats · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.31.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.31.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.31.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.31.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.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":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.31.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.31.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.31.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.31.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.31.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.31.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.31.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.31.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.31.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.31.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.31.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.31.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.31.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.31.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.31.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.31.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.31.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.31.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.31.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.31.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.31.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.31","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","tableStats","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.fixedThresholds","typeLabel":"fixed_thresholds · object"},"tableStats":{"oneOf":[{"type":"object","title":"table_stats","required":["field"],"properties":{"field":{"type":"string","title":"field","minLength":1,"description":"Timestamp column name, e.g. \"updated_at\" (used as max(updated_at)).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0.field","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0.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":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.0","typeLabel":"table_stats · object"},{"type":"object","title":"table_stats","required":["sql"],"properties":{"sql":{"type":"string","title":"sql","minLength":1,"description":"Row-level SQL expression yielding a timestamp, e.g.\n \"coalesce(updated_at, created_at)\". Do NOT wrap it in an aggregate —\n max() is applied automatically.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1.sql","typeLabel":"string"},"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":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1.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":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"title":"metric_options","description":"Metrics to monitor. If empty, all metrics are monitored.","uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"delay_model","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":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1.delayModel","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats.oneOf.1","typeLabel":"table_stats · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.tableStats","typeLabel":"table_stats · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.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":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.32.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.32.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.32.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.32.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.32.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.32.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.32.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.32.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.32.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.32.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.32.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.32.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.32.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.32.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.32.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.32.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.32.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.32.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.32.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.32.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.32.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.32","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","daily","volume","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.fixedThresholds","typeLabel":"fixed_thresholds · object"},"volume":{"type":"object","title":"volume","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.volume","typeLabel":"volume · object"},"daily":{"type":"object","properties":{"minutesSinceMidnight":{"type":"integer","maximum":1439,"minimum":0,"format":"int32","description":"Minutes since midnight (0-1439)","uniqueKey":"monitors.items.[INDEX].oneOf.33.daily.minutesSinceMidnight","typeLabel":"integer\u003cint32>"},"delayNumDays":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.33.daily.delayNumDays.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of days.","uniqueKey":"monitors.items.[INDEX].oneOf.33.daily.delayNumDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.daily.delayNumDays","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minutes_since_midnight will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.33.daily.onlyScheduleDelay","typeLabel":"boolean"}},"title":"daily","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.daily","typeLabel":"daily · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.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":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.33.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.33.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.33.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.33.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.33.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.33.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.33.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.33.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.33.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.33.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.33.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.33.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.33.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.33.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.33.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.33.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.33.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.33.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.33.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.33.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.33.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.33","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","hourly","volume","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.fixedThresholds","typeLabel":"fixed_thresholds · object"},"volume":{"type":"object","title":"volume","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.volume","typeLabel":"volume · object"},"hourly":{"type":"object","properties":{"minuteOfHour":{"type":"integer","maximum":59,"minimum":0,"format":"int32","description":"Minute of hour (0-59)","uniqueKey":"monitors.items.[INDEX].oneOf.34.hourly.minuteOfHour","typeLabel":"integer\u003cint32>"},"delayNumHours":{"oneOf":[{"type":"integer","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.34.hourly.delayNumHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","minimum":0,"format":"int32","description":"Delay monitoring by given number of hours.","uniqueKey":"monitors.items.[INDEX].oneOf.34.hourly.delayNumHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.hourly.delayNumHours","typeLabel":"integer\u003cint32> | null"},"onlyScheduleDelay":{"type":"boolean","description":"if true, the minute_of_hour will be related to delay scheduling/execution instead of time shifting time partitions","uniqueKey":"monitors.items.[INDEX].oneOf.34.hourly.onlyScheduleDelay","typeLabel":"boolean"}},"title":"hourly","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.hourly","typeLabel":"hourly · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.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":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.34.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.34.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.34.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.34.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.34.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.34.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.34.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.34.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.34.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.34.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.34.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.34.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.34.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.34.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.34.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.34.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.34.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.34.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.34.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.34.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.34.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.34","typeLabel":"MonitorDefinition · object"},{"type":"object","title":"MonitorDefinition","description":"filter_not_supported_for_table_stats // filter is not supported for table stats monitors\nsegmentation_not_supported_for_field_stats_and_table_stats // Segmentation is not supported for field stats and table stats monitors\nsql_source_not_supported_for_table_stats // sql_source is not supported for table stats monitors\ntime_partitioning_forbidden_for_table_stats // time_partitioning must not be set when table_stats is set\n","required":["id","monitoredId","name","onDemand","volume","fixedThresholds"],"properties":{"fixedThresholds":{"type":"object","properties":{"min":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds.min.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds.min.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds.min","typeLabel":"string | number"},"max":{"oneOf":[{"type":"string","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds.max.oneOf.0","typeLabel":"string"},{"type":"number","description":"Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.","uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds.max.oneOf.1","typeLabel":"number"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds.max","typeLabel":"string | number"}},"title":"fixed_thresholds","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.fixedThresholds","typeLabel":"fixed_thresholds · object"},"volume":{"type":"object","title":"volume","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.volume","typeLabel":"volume · object"},"onDemand":{"type":"object","title":"on_demand","additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.onDemand","typeLabel":"on_demand · object"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.id","typeLabel":"string\u003cuuid>"},"monitoredId":{"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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.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":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId.oneOf.23","typeLabel":"Identifier · object"}],"isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.monitoredId","typeLabel":"Identifier · object"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.name","typeLabel":"string"},"timePartitioning":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"description":"The expression to partition on (eg. \"created_at\", \"meta['created_at']\").\n Required whenever time_partitioning is set. To monitor without time segmentation, omit the\n whole time_partitioning message rather than sending an empty expression.","uniqueKey":"monitors.items.[INDEX].oneOf.35.timePartitioning.expression","typeLabel":"string"},"interval":{"type":"string","format":"duration","description":"Length of one time segment. Optional: defaults to the interval implied by the schedule\n (24h for daily, 1h for hourly) and must equal it when set. On-demand monitors have no\n schedule interval to inherit, so they must set it explicitly whenever time_partitioning\n is set.","uniqueKey":"monitors.items.[INDEX].oneOf.35.timePartitioning.interval","typeLabel":"string\u003cduration>"}},"title":"TimePartitioning","additionalProperties":false,"description":"How the monitored data is split into time segments. When omitted, the monitor takes one\n whole-data snapshot per scheduled run instead of segmenting by time (and gets no historical\n backfill on its first run). Must be omitted for table_stats monitors.","uniqueKey":"monitors.items.[INDEX].oneOf.35.timePartitioning","typeLabel":"TimePartitioning · object"},"segmentation":{"oneOf":[{"type":"object","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default.","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.expression","typeLabel":"string"},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.includeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.includeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.includeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")","uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.includeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.includeValues","typeLabel":"ValueList · object | null"},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.excludeValues.oneOf.0.values.items.[INDEX]","typeLabel":"string"},"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.excludeValues.oneOf.0.values","typeLabel":"string[]"}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.excludeValues.oneOf.0","typeLabel":"ValueList · object"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")","uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.excludeValues.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0.excludeValues","typeLabel":"ValueList · object | null"}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.0","typeLabel":"Segmentation · object"},{"type":"null","properties":{"expression":{"type":"string","description":"The expression to segment on (eg. \"country\", \"meta['country']\")\n You can optionally specify values to include or exclude from segmentation.\n If neither are provided, all values are included by default."},"includeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to include for segmentation (eg. \"UK\", \"France\")"}]},"excludeValues":{"oneOf":[{"type":"object","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"},{"type":"null","properties":{"values":{"type":"array","items":{"type":"string"}}},"title":"ValueList","additionalProperties":false,"description":"List of expression values to exclude for segmentation (eg. \"NA\", \"\")"}]}},"title":"Segmentation","required":["expression"],"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.segmentation","typeLabel":"Segmentation · object | null"},"filter":{"oneOf":[{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.35.filter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"monitors.items.[INDEX].oneOf.35.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.filter","typeLabel":"string | null"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"uniqueKey":"monitors.items.[INDEX].oneOf.35.severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.35.description","typeLabel":"string"},"configId":{"oneOf":[{"type":"string","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.35.configId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Config ID this monitor was authored from, when deployed via configuration\n as code. Unset for monitors authored directly through this API.\n\n On a write this field is only ever set, never unset: omitting it keeps the\n stored value, so a full-replace update cannot detach the monitor from the\n config that owns it. An empty string is a real config id — the one a deploy\n that declares no namespace uses — so sending it attaches the monitor to\n that config rather than clearing the field. No value detaches a monitor;\n recreating it is the only way to hand it back to the app.","uniqueKey":"monitors.items.[INDEX].oneOf.35.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.configId","typeLabel":"string | null"},"source":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"description":"Source of the monitor.","uniqueKey":"monitors.items.[INDEX].oneOf.35.source","typeLabel":"enum\u003cstring>"},"timezone":{"type":"string","uniqueKey":"monitors.items.[INDEX].oneOf.35.timezone","typeLabel":"string"},"sqlSource":{"oneOf":[{"type":"object","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\"","isRequired":true,"uniqueKey":"monitors.items.[INDEX].oneOf.35.sqlSource.oneOf.0.sql","typeLabel":"string"}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.35.sqlSource.oneOf.0","typeLabel":"SqlSource · object"},{"type":"null","properties":{"sql":{"type":"string","description":"The SQL query providing the data source.\n Example: \"SELECT created_at, country, amount FROM orders WHERE status = 'completed'\""}},"title":"SqlSource","required":["sql"],"additionalProperties":false,"description":"Optional SQL source. When set, the monitor queries against this SQL (wrapped as a CTE)\n instead of the table identified by monitored_id directly.\n Column references in time_partitioning, segmentation, and filter refer to columns in the SQL output.","uniqueKey":"monitors.items.[INDEX].oneOf.35.sqlSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.sqlSource","typeLabel":"SqlSource · object | null"},"category":{"oneOf":[{"type":"string","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.35.category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Technical category this monitor declares for itself — what kind of check it\n is mechanically (e.g. \"volume\", \"freshness\"). It is the monitor's own\n declaration, not an administrative\n override: it is authoritative over any categorisation rule the workspace\n would otherwise apply, and is itself overridden by an explicit per-check\n category an admin sets.\n\n The value is free-form and workspace-defined — whatever vocabulary your\n categorisation rules already use. It is displayed with underscores turned\n into spaces, so `snake_case` reads well.\n\n Send the whole monitor on every upsert: leaving this out is the same as\n sending it empty, and both mean the monitor declares no technical\n category. A monitor then falls back to its `quality.check_category`\n annotation, which remains accepted and keeps working — this field simply\n outranks it.\n\n A segmented monitor's segments take this value too. A segment is the same\n monitor sliced by a column value, so it cannot declare a category of its\n own.","uniqueKey":"monitors.items.[INDEX].oneOf.35.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.category","typeLabel":"string | null"},"governanceCategory":{"oneOf":[{"type":"string","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.35.governanceCategory.oneOf.0","typeLabel":"string"},{"type":"null","description":"Governance category this monitor declares for itself — what the check is\n for, the data quality dimension governance reports on (e.g. \"timeliness\").\n Resolves independently of `category` — setting one never suppresses the\n other — and follows the same precedence, the same free-form vocabulary and\n the same full-state upsert rule described above. Its annotation fallback is\n `quality.governance_category`.","uniqueKey":"monitors.items.[INDEX].oneOf.35.governanceCategory.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.governanceCategory","typeLabel":"string | null"},"deletedAt":{"oneOf":[{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.35.deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the monitor was deleted. Unset while it is live, which is every monitor\n an ordinary listing reports; a deleted one comes back only from a listing\n that asked for it. Read-only, and ignored on writes.","uniqueKey":"monitors.items.[INDEX].oneOf.35.deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"monitors.items.[INDEX].oneOf.35.deletedAt","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"monitors.items.[INDEX].oneOf.35","typeLabel":"MonitorDefinition · object"}],"uniqueKey":"monitors.items.[INDEX]","typeLabel":"MonitorDefinition · object"},"uniqueKey":"monitors","typeLabel":"MonitorDefinition · object[]"}},"title":"ListConfigsMonitorsResponse","additionalProperties":false,"uniqueKey":"","typeLabel":"ListConfigsMonitorsResponse · object"},"examples":{"Example":{"title":"Example","value":{"monitors":[{"anomalyEngine":{"sensitivity":"SENSITIVITY_UNSPECIFIED"},"categoryDistribution":{"field":"\u003cstring>","topKLimit":1},"daily":{"minutesSinceMidnight":719,"delayNumDays":1,"onlyScheduleDelay":true},"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","monitoredId":{"airflowDag":{"integrationId":"\u003cstring>","dagId":"\u003cstring>"},"entityId":"\u003cstring>"},"name":"\u003cstring>","timePartitioning":{"expression":"\u003cstring>","interval":"\u003cstring>"},"segmentation":{"expression":"\u003cstring>","includeValues":{"values":["\u003cstring>"]},"excludeValues":{"values":["\u003cstring>"]}},"filter":"\u003cstring>","severity":"SEVERITY_UNSPECIFIED","description":"\u003cstring>","configId":"\u003cstring>","source":"SOURCE_APP","timezone":"\u003cstring>","sqlSource":{"sql":"\u003cstring>"},"category":"\u003cstring>","governanceCategory":"\u003cstring>","deletedAt":"2023-01-15T01:30:15.01Z"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"9b5b53cb-3c67-4028-832e-21771047f6e7":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"5f72852c-93ea-4575-903f-972232270447":{"url":"https://developer.synq.io"},"1876e40d-c70d-44ee-8a61-b328599bcefe":{"url":"https://api.us.synq.io"},"d65d0c8d-29c0-448c-8683-7e575e96d0de":{"url":"https://api.au.synq.io"}},"schemas":{"dcf8663e-2a8c-4205-9b59-3331351e46c2":{"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":"dcf8663e-2a8c-4205-9b59-3331351e46c2","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}]}},"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":"ListConfigsMonitors - Coalesce Quality Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T12:38:15.871Z","originalFileLocation":"api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors.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=\"ListConfigsMonitors - 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/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors\">\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.custom_monitors.v1.CustomMonitorsService\u0026amp;title=ListConfigsMonitors\u0026amp;theme=af35070adc24bee9a88a4231\u0026amp;signature=d9df4b3e703341ff950818cafef85783d17fce097d6e0d8e8d286f1c1ddefe5a\">\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=\"ListConfigsMonitors - Coalesce Quality Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://synq-15.mintlify.site/_mintlify/api/og/v2?division=synq.monitors.custom_monitors.v1.CustomMonitorsService\u0026amp;title=ListConfigsMonitors\u0026amp;theme=af35070adc24bee9a88a4231\u0026amp;signature=d9df4b3e703341ff950818cafef85783d17fce097d6e0d8e8d286f1c1ddefe5a\">\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/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors.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/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors#webpage\",\"url\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors\",\"name\":\"ListConfigsMonitors\",\"dateModified\":\"2026-11-10T12:38:15.871Z\",\"isPartOf\":{\"@id\":\"https://docs.synq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors#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.custom_monitors.v1.CustomMonitorsService\",\"item\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listmonitors\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"ListConfigsMonitors\",\"item\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors#apireference\",\"headline\":\"ListConfigsMonitors\",\"name\":\"ListConfigsMonitors\",\"url\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors\",\"mainEntityOfPage\":{\"@id\":\"https://docs.synq.io/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors#webpage\"},\"dateModified\":\"2026-11-10T12:38:15.871Z\",\"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\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Coalesce Quality Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors.md","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"},{"title":"TriggerSqlTestRunAgain","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/scheduler/v1/trigger/sql-test-run-again","href":"/api-reference/synqdatachecksv1triggerservice/triggersqltestrunagain"}]},{"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","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rule/{id}/deleted","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/getdeploydeleteoverview"},{"title":"ListDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules"},{"title":"UpsertDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/upsertdeploymentrule"},{"title":"BatchUpdateDeploymentRuleTitle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchupdatedeploymentruletitle"},{"title":"BatchGetDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules/batch","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchgetdeploymentrules"},{"title":"BatchUpsertDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules/batch","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchupsertdeploymentrules"},{"title":"BatchDeleteDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/monitors/automated/v1/deployment-rules/batch","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchdeletedeploymentrules"},{"title":"BatchDeployDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules/batch/deployed","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchdeploydeploymentrules"},{"title":"DeployDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules/deployed","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/deploydeploymentrule"},{"title":"ListDeploymentRulesForAsset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules/{asset_path}","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrulesforasset"}]},{"group":"synq.monitors.custom_monitors.v1.CustomMonitorsService","pages":[{"title":"ListMonitors","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/custom-monitors/v1","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listmonitors"},{"title":"BatchUpdateMonitor","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/monitors/custom-monitors/v1","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/batchupdatemonitor"},{"title":"BatchCreateMonitor","description":null,"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","description":null,"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":"ListConfigsMonitors - Coalesce Quality Documentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}