Sifflet · Schema

AsCodeMonitorDto

CompanyData AnalyticsData ObservabilityData QualityData CatalogData LineageData GovernanceMonitoringMetadataAI Agents

Properties

Name Type Description
connection object
customMetadataEntries array
datasets array
description string
friendlyId string
id string
incident object
joins array
kind string
name string
notifications array
overrideNotificationRules boolean
parameters object
schedule string
scheduleTimezone string
tags array
terms array
version integer
View JSON Schema on GitHub

JSON Schema

sifflet-as-code-monitor-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sifflet/main/json-schema/sifflet-as-code-monitor-dto-schema.json",
  "title": "AsCodeMonitorDto",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sifflet-backend-api-openapi.yml#/components/schemas/AsCodeMonitorDto",
  "required": [
    "incident",
    "joins",
    "name",
    "parameters",
    "version"
  ],
  "type": "object",
  "properties": {
    "connection": {
      "$ref": "#/$defs/AsCodeConnectionParamsOverrideDto"
    },
    "customMetadataEntries": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AsCodeCustomMetadataEntryReferenceDto"
      }
    },
    "datasets": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AsCodeDatasetReferenceDto"
      }
    },
    "description": {
      "type": "string"
    },
    "friendlyId": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "incident": {
      "$ref": "#/$defs/AsCodeIncidentDto"
    },
    "joins": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AsCodeJoinDto"
      }
    },
    "kind": {
      "type": "string",
      "enum": [
        "Workspace",
        "Monitor",
        "Asset",
        "Source",
        "Lineage"
      ]
    },
    "name": {
      "type": "string"
    },
    "notifications": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/$defs/AsCodeAlertingHookNotificationDto"
          },
          {
            "$ref": "#/$defs/AsCodeJiraNotificationDto"
          },
          {
            "$ref": "#/$defs/AsCodeServiceNowNotificationDto"
          }
        ]
      }
    },
    "overrideNotificationRules": {
      "type": "boolean"
    },
    "parameters": {
      "oneOf": [
        {
          "$ref": "#/$defs/AsCodeCompletenessMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeConditionalMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeCorrelatedMetricsMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeCustomMetricsMonitorParamsDtoV1"
        },
        {
          "$ref": "#/$defs/AsCodeCustomMetricsMonitorParamsDtoV2"
        },
        {
          "$ref": "#/$defs/AsCodeDistributionMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeDuplicatesMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeDynamicFieldProfilingMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeDynamicMetricMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeFieldDuplicatesMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeFieldFormatMonitorParamsDtoV1"
        },
        {
          "$ref": "#/$defs/AsCodeFieldFormatMonitorParamsDtoV2"
        },
        {
          "$ref": "#/$defs/AsCodeFieldInListConstraintMonitorParamsDtoV1"
        },
        {
          "$ref": "#/$defs/AsCodeFieldInListConstraintMonitorParamsDtoV2"
        },
        {
          "$ref": "#/$defs/AsCodeFieldNullsMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeFieldUniquenessMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeFreshnessMonitorParamsDtoV1"
        },
        {
          "$ref": "#/$defs/AsCodeFreshnessMonitorParamsDtoV2"
        },
        {
          "$ref": "#/$defs/AsCodeMetadataFreshnessMonitorParamsDtoV1"
        },
        {
          "$ref": "#/$defs/AsCodeMetadataFreshnessMonitorParamsDtoV2"
        },
        {
          "$ref": "#/$defs/AsCodeMetricsMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeReferentialIntegrityMonitorParamsDtoV1"
        },
        {
          "$ref": "#/$defs/AsCodeReferentialIntegrityMonitorParamsDtoV2"
        },
        {
          "$ref": "#/$defs/AsCodeRowDuplicatesMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeSchemaChangeMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeSqlConditionMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeSqlMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeStaticCompletenessMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeStaticFieldProfilingMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeStaticMetricMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeValueRangeMonitorParamsDto"
        },
        {
          "$ref": "#/$defs/AsCodeVolumeMonitorParamsDto"
        }
      ]
    },
    "schedule": {
      "type": "string"
    },
    "scheduleTimezone": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AsCodeTagReferenceDto"
      }
    },
    "terms": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AsCodeReferenceByIdOrNameDtoImpl"
      }
    },
    "version": {
      "type": "integer",
      "format": "int32"
    }
  },
  "$defs": {
    "AsCodeAggregationClauseDtoV1": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "Average",
            "NormalizedAverage",
            "Count",
            "DistinctCount",
            "Sum",
            "Max",
            "Min",
            "Quantile",
            "Range",
            "StandardDeviation",
            "Variance"
          ]
        }
      }
    },
    "AsCodeAggregationClauseDtoV2": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "Average",
            "NormalizedAverage",
            "Count",
            "CountAllRows",
            "DistinctCount",
            "Sum",
            "Max",
            "Min",
            "Quantile",
            "StandardDeviation",
            "Variance",
            "CustomAggregation"
          ]
        }
      }
    },
    "AsCodeAlertingHookNotificationDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeNotificationReferenceDto"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "name": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeCalendarReferenceDto": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "type": "string"
        },
        "standardCalendar": {
          "type": "string",
          "enum": [
            "US_PUBLIC_HOLIDAYS",
            "FRANCE_PUBLIC_HOLIDAYS",
            "UK_PUBLIC_HOLIDAYS",
            "BELGIUM_PUBLIC_HOLIDAYS",
            "SPAIN_PUBLIC_HOLIDAYS",
            "GERMANY_PUBLIC_HOLIDAYS",
            "NETHERLANDS_PUBLIC_HOLIDAYS",
            "SUNDAYS",
            "WEEKENDS"
          ]
        }
      }
    },
    "AsCodeCompletenessMonitorParamsDto": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "threshold": {
              "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1"
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeConditionDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "andGroup",
            "orGroup",
            "equals",
            "notEquals",
            "greaterThan",
            "greaterThanOrEquals",
            "lessThan",
            "lessThanOrEquals",
            "isNull",
            "isNotNull",
            "contains",
            "notContains",
            "dateOlderThan",
            "dateYoungerThan",
            "isTrue",
            "isFalse"
          ]
        }
      }
    },
    "AsCodeConditionGroupDto": {
      "required": [
        "conditions",
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeConditionDto"
        },
        {
          "type": "object",
          "properties": {
            "conditions": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "$ref": "#/$defs/AsCodeConditionGroupDto"
                  },
                  {
                    "$ref": "#/$defs/AsCodeDateConditionDto"
                  },
                  {
                    "$ref": "#/$defs/AsCodeNumericComparisonConditionDto"
                  },
                  {
                    "$ref": "#/$defs/AsCodeStringConditionDto"
                  },
                  {
                    "$ref": "#/$defs/AsCodeUnaryConditionDto"
                  }
                ]
              }
            }
          }
        }
      ]
    },
    "AsCodeConditionalMonitorParamsDto": {
      "required": [
        "condition",
        "threshold"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "condition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeConditionGroupDto"
                },
                {
                  "$ref": "#/$defs/AsCodeDateConditionDto"
                },
                {
                  "$ref": "#/$defs/AsCodeNumericComparisonConditionDto"
                },
                {
                  "$ref": "#/$defs/AsCodeStringConditionDto"
                },
                {
                  "$ref": "#/$defs/AsCodeUnaryConditionDto"
                }
              ]
            },
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "threshold": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2"
                },
                {
                  "$ref": "#/$defs/AsCodeStaticThresholdDtoV2"
                }
              ]
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeConnectionParamsOverrideDto": {
      "required": [
        "credentials"
      ],
      "type": "object",
      "properties": {
        "credentials": {
          "type": "string"
        }
      }
    },
    "AsCodeCorrelatedMetricsMonitorParamsDto": {
      "required": [
        "metrics",
        "threshold"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "metadataBased": {
              "type": "boolean"
            },
            "metrics": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/AsCodeMetricClauseDto"
              }
            },
            "threshold": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2"
                },
                {
                  "$ref": "#/$defs/AsCodeStaticThresholdDtoV2"
                }
              ]
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowClauseWithoutFieldDtoV2"
            }
          }
        }
      ]
    },
    "AsCodeCustomAggregationClauseDtoV2": {
      "required": [
        "kind",
        "sql"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeAggregationClauseDtoV2"
        },
        {
          "type": "object",
          "properties": {
            "sql": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetadataEntryLabelValueReferenceDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto"
        },
        {
          "type": "object",
          "properties": {
            "labelValue": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetadataEntryReferenceDto": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/AsCodeCustomMetadataEntryLabelValueReferenceDto"
            },
            {
              "$ref": "#/$defs/AsCodeCustomMetadataEntryStringValueReferenceDto"
            },
            {
              "$ref": "#/$defs/AsCodeCustomMetadataEntryTeamValueReferenceDto"
            },
            {
              "$ref": "#/$defs/AsCodeCustomMetadataEntryUserValueReferenceDto"
            }
          ]
        }
      }
    },
    "AsCodeCustomMetadataEntryStringValueReferenceDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto"
        },
        {
          "type": "object",
          "properties": {
            "stringValue": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetadataEntryTeamValueReferenceDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto"
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetadataEntryUserValueReferenceDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeCustomMetadataEntryValueReferenceDto"
        },
        {
          "type": "object",
          "properties": {
            "email": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetadataEntryValueReferenceDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "customMetadataName": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "enum": [
            "Label",
            "String",
            "User",
            "Team"
          ]
        }
      }
    },
    "AsCodeCustomMetricsMonitorParamsDtoV1": {
      "required": [
        "sql"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "sql": {
              "type": "string"
            },
            "threshold": {
              "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1"
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowOffsetClauseDto"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetricsMonitorParamsDtoV2": {
      "required": [
        "sql",
        "threshold"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "emptyMeansZero": {
              "type": "boolean"
            },
            "sql": {
              "type": "string"
            },
            "threshold": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2"
                },
                {
                  "$ref": "#/$defs/AsCodeStaticThresholdDtoV2"
                }
              ]
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeCustomMetricsTimeWindowDto"
            }
          }
        }
      ]
    },
    "AsCodeCustomMetricsTimeWindowDto": {
      "type": "object",
      "properties": {
        "offset": {
          "$ref": "#/$defs/SimpleDuration"
        },
        "offsetPeriods": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "AsCodeDatasetReferenceDto": {
      "type": "object",
      "properties": {
        "datasource": {
          "$ref": "#/$defs/AsCodeReferenceByIdOrNameDtoImpl"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "type": "string"
        },
        "uri": {
          "type": "string"
        }
      }
    },
    "AsCodeDateConditionDto": {
      "required": [
        "dateExpression",
        "duration",
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeConditionDto"
        },
        {
          "type": "object",
          "properties": {
            "dateExpression": {
              "$ref": "#/$defs/AsCodeFieldExpressionDto"
            },
            "duration": {
              "$ref": "#/$defs/AsCodeDurationDto"
            }
          }
        }
      ]
    },
    "AsCodeDistributionChangeTimeWindowClauseDtoV2": {
      "required": [
        "field"
      ],
      "type": "object",
      "properties": {
        "deltaQuerying": {
          "$ref": "#/$defs/SimpleDuration"
        },
        "duration": {
          "$ref": "#/$defs/SimpleDuration"
        },
        "field": {
          "$ref": "#/$defs/AsCodeFieldReferenceDto"
        },
        "firstRun": {
          "$ref": "#/$defs/SimpleDuration"
        },
        "frequency": {
          "$ref": "#/$defs/SimpleDuration"
        },
        "offset": {
          "$ref": "#/$defs/SimpleDuration"
        },
        "offsetPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "rollingTimeWindow": {
          "$ref": "#/$defs/SimpleDuration"
        }
      }
    },
    "AsCodeDistributionMonitorParamsDto": {
      "required": [
        "field",
        "threshold"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "field": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/AsCodeFieldReferenceDto"
              }
            },
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "onAddedCategory": {
              "type": "boolean"
            },
            "onRemovedCategory": {
              "type": "boolean"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "reference": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeFixedDistributionReferenceDto"
                },
                {
                  "$ref": "#/$defs/AsCodeRollingDistributionReferenceDto"
                }
              ]
            },
            "threshold": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2"
                },
                {
                  "$ref": "#/$defs/AsCodeStaticThresholdDtoV2"
                }
              ]
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeDistributionChangeTimeWindowClauseDtoV2"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeDistributionReferenceDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "Rolling",
            "Fixed"
          ]
        }
      }
    },
    "AsCodeDuplicatesMonitorParamsDto": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "threshold": {
              "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1"
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowWithOffsetAndFrequencyClauseDto"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeDurationDto": {
      "required": [
        "timeUnit",
        "value"
      ],
      "type": "object",
      "properties": {
        "timeUnit": {
          "type": "string",
          "enum": [
            "days",
            "hours",
            "minutes"
          ]
        },
        "value": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "AsCodeDynamicFieldProfilingMonitorParamsDto": {
      "required": [
        "field",
        "profiling"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "field": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "profiling": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeFieldProfilingClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeNullFieldProfilingClauseDto"
                }
              ]
            },
            "threshold": {
              "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1"
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeDynamicFreshnessThresholdDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "excludedDates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AsCodeCalendarReferenceDto"
          }
        },
        "kind": {
          "type": "string",
          "enum": [
            "Dynamic",
            "Static"
          ]
        },
        "sensitivity": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "AsCodeDynamicMetricMonitorParamsDto": {
      "required": [
        "aggregation",
        "field"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "aggregation": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeAggregationClauseDtoV1"
                },
                {
                  "$ref": "#/$defs/AsCodeQuantileAggregationClauseDtoV1"
                }
              ]
            },
            "field": {
              "type": "string"
            },
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "threshold": {
              "$ref": "#/$defs/AsCodeDynamicThresholdDtoV1"
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowWithOffsetFrequencyAndRollingClauseDto"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeDynamicThresholdDtoV1": {
      "type": "object",
      "properties": {
        "bounds": {
          "type": "string",
          "enum": [
            "MinAndMax",
            "Min",
            "Max"
          ]
        },
        "excludedDates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AsCodeCalendarReferenceDto"
          }
        },
        "sensitivity": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "AsCodeDynamicThresholdDtoV2": {
      "required": [
        "kind",
        "sensitivity"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeThresholdBaseDto"
        },
        {
          "type": "object",
          "properties": {
            "bounds": {
              "type": "string",
              "enum": [
                "MinAndMax",
                "Min",
                "Max"
              ]
            },
            "sensitivity": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      ]
    },
    "AsCodeEqualityJoinConditionDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeJoinConditionDto"
        },
        {
          "type": "object",
          "properties": {
            "fieldPairs": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/AsCodeJoinFieldPairDto"
              }
            }
          }
        }
      ]
    },
    "AsCodeExpressionDto": {
      "required": [
        "kind"
      ],
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "field",
            "value"
          ]
        }
      }
    },
    "AsCodeFieldDuplicatesMonitorParamsDto": {
      "required": [
        "field",
        "threshold"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "field": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/AsCodeFieldReferenceDto"
              }
            },
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "threshold": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeDynamicThresholdDtoV2"
                },
                {
                  "$ref": "#/$defs/AsCodeStaticThresholdDtoV2"
                }
              ]
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV2"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeFieldExpressionDto": {
      "required": [
        "field",
        "kind"
      ],
      "type": "object",
      "properties": {
        "field": {
          "$ref": "#/$defs/AsCodeFieldReferenceDto"
        },
        "kind": {
          "type": "string",
          "enum": [
            "field",
            "value"
          ]
        }
      }
    },
    "AsCodeFieldFormatMonitorParamsDtoV1": {
      "required": [
        "field",
        "format"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {
            "field": {
              "type": "string"
            },
            "format": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeFieldFormatValidationClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeRegexFieldFormatValidationClauseDto"
                }
              ]
            },
            "groupBy": {
              "$ref": "#/$defs/AsCodeGroupByClauseDto"
            },
            "partition": {
              "oneOf": [
                {
                  "$ref": "#/$defs/AsCodeIngestionTimePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeIntegerRangePartitionClauseDto"
                },
                {
                  "$ref": "#/$defs/AsCodeTimeUnitColumnPartitionClauseDto"
                }
              ]
            },
            "timeWindow": {
              "$ref": "#/$defs/AsCodeTimeWindowClauseDtoV1"
            },
            "whereStatement": {
              "type": "string"
            }
          }
        }
      ]
    },
    "AsCodeFieldFormatMonitorParamsDtoV2": {
      "required": [
        "field",
        "format",
        "threshold"
      ],
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/AsCodeMonitorParamsDto"
        },
        {
          "type": "object",
          "properties": {


# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sifflet/refs/heads/main/json-schema/sifflet-as-code-monitor-dto-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sifflet-as-code-monitor-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.