Bigeye Metric Observed Column Service API

The MetricObservedColumnService API from Bigeye — 7 operation(s) for metricobservedcolumnservice.

OpenAPI Specification

bigeye-metricobservedcolumnservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Observability Metric Observed Column Service API
  version: version not set
servers:
- url: https://app.bigeye.com
security:
- basicAuth: []
- Personal_API_Key: []
tags:
- name: MetricObservedColumnService
paths:
  /api/v1/metric-observed-column/metric/{metricId}/backfill:
    post:
      operationId: MetricObservedColumnService_BackfillMetricObservedColumns
      parameters:
      - description: The ID of the metric
        in: path
        name: metricId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedEmpty'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Backfill metric observed columns for a specific metric

        This endpoint automatically sets default observed columns for a metric based on its configuration'
      tags:
      - MetricObservedColumnService
  /api/v1/metric-observed-column:
    post:
      operationId: MetricObservedColumnService_CreateMetricObservedColumn
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/generatedMetricObservedColumnRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedMetricObservedColumnResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Create a metric observed column relationship

        This endpoint creates a relationship between a metric and a column that the metric observes'
      tags:
      - MetricObservedColumnService
  /api/v1/metric-observed-column/delete:
    post:
      operationId: MetricObservedColumnService_DeleteMetricObservedColumn
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/generatedDeleteMetricObservedColumnRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedMetricObservedColumnResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Delete a metric observed column relationship

        This endpoint removes the relationship between a metric and a column'
      tags:
      - MetricObservedColumnService
  /api/v1/metric-observed-column/bulk-list:
    post:
      operationId: MetricObservedColumnService_GetMetricObservedColumnsBulk
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/generatedGetMetricObservedColumnBulkRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedMetricObservedColumnListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Get metric observed columns in bulk

        This endpoint allows fetching multiple metric observed column relationships based on various filters

        such as metric IDs, column IDs, table IDs, schema IDs, source IDs, and tag IDs'
      tags:
      - MetricObservedColumnService
  /api/v1/metric-observed-column/column/{columnId}:
    get:
      operationId: MetricObservedColumnService_GetMetricObservedColumnsForColumn
      parameters:
      - in: path
        name: columnId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedMetricObservedColumnListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Get metric observed columns for a specific column

        Returns all metrics that observe the specified column'
      tags:
      - MetricObservedColumnService
  /api/v1/metric-observed-column/metric/{metricId}:
    get:
      operationId: MetricObservedColumnService_GetMetricObservedColumnsForMetric
      parameters:
      - description: The ID of the metric
        in: path
        name: metricId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedMetricObservedColumnListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Get metric observed columns for a specific metric

        Returns all columns that are observed by the specified metric, along with suggested columns'
      tags:
      - MetricObservedColumnService
  /api/v1/metric-observed-column/metric/{metricId}/suggested:
    get:
      operationId: MetricObservedColumnService_GetSuggestedColumnsForMetric
      parameters:
      - description: The ID of the metric
        in: path
        name: metricId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedGetColumnListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: 'Get suggested columns for a metric

        Returns columns that are suggested to be observed by the specified metric based on its configuration'
      tags:
      - MetricObservedColumnService
components:
  schemas:
    generatedTag:
      properties:
        colorHex:
          title: 'color_hex includes a # prefix (e.g. “#181818” is correct, “181818” is incorrect)'
          type: string
        createdAt:
          format: int64
          type: string
        id:
          format: int32
          type: integer
        name:
          type: string
        updatedAt:
          format: int64
          type: string
        workspaceId:
          format: int32
          type: integer
      title: Tags
      type: object
    generatedMetricType:
      properties:
        customRuleType:
          $ref: '#/components/schemas/generatedCustomRuleType'
        externalMonitor:
          $ref: '#/components/schemas/generatedExternalMonitor'
        isMetadataMetric:
          type: boolean
        isTableMetric:
          type: boolean
        predefinedMetric:
          $ref: '#/components/schemas/generatedPredefinedMetric'
        templateMetric:
          $ref: '#/components/schemas/generatedTemplateMetric'
      type: object
    generatedSimpleBoundType:
      default: UNDEFINED_SIMPLE_BOUND_TYPE
      enum:
      - UNDEFINED_SIMPLE_BOUND_TYPE
      - LOWER_BOUND_SIMPLE_BOUND_TYPE
      - UPPER_BOUND_SIMPLE_BOUND_TYPE
      type: string
    generatedColumnCorrelation:
      properties:
        columnCorrelationString:
          type: string
        datasetId:
          format: int32
          type: integer
      type: object
    generatedTimeIntervalType:
      default: UNDEFINED_TIME_INTERVAL_TYPE
      enum:
      - UNDEFINED_TIME_INTERVAL_TYPE
      - HOURS_TIME_INTERVAL_TYPE
      - MINUTES_TIME_INTERVAL_TYPE
      - SECONDS_TIME_INTERVAL_TYPE
      - DAYS_TIME_INTERVAL_TYPE
      - WEEKDAYS_TIME_INTERVAL_TYPE
      - MARKET_DAYS_TIME_INTERVAL_TYPE
      - MONTHS_TIME_INTERVAL_TYPE
      - WEEKS_TIME_INTERVAL_TYPE
      - YEARS_TIME_INTERVAL_TYPE
      type: string
    generatedJoin:
      properties:
        entityInfo:
          $ref: '#/components/schemas/generatedEntityInfo'
        id:
          format: int32
          type: integer
        keyColumns:
          items:
            $ref: '#/components/schemas/generatedJoinColumnPairing'
          type: array
        leftFilter:
          $ref: '#/components/schemas/generatedJoinTableFilter'
        leftTable:
          $ref: '#/components/schemas/generatedTable'
        rightFilter:
          $ref: '#/components/schemas/generatedJoinTableFilter'
        rightTable:
          $ref: '#/components/schemas/generatedTable'
      type: object
    generatedMetricObservedColumnRequest:
      properties:
        columnId:
          format: int32
          type: integer
        comments:
          type: string
        metricId:
          format: int32
          type: integer
      type: object
    generatedMetricParameter:
      properties:
        columnName:
          type: string
        key:
          type: string
        numberValue:
          format: double
          type: number
        stringValue:
          type: string
      type: object
    generatedRelativeThreshold:
      properties:
        bound:
          $ref: '#/components/schemas/generatedSimpleBound'
        lookback:
          $ref: '#/components/schemas/generatedTimeInterval'
      type: object
    generatedCatalogEntityType:
      default: CATALOG_ENTITY_TYPE_UNSPECIFIED
      enum:
      - CATALOG_ENTITY_TYPE_UNSPECIFIED
      - CATALOG_ENTITY_TYPE_SOURCE
      - CATALOG_ENTITY_TYPE_SCHEMA
      - CATALOG_ENTITY_TYPE_DATASET
      - CATALOG_ENTITY_TYPE_FIELD
      - CATALOG_ENTITY_TYPE_DATA_NODE_ENTITY
      - CATALOG_ENTITY_TYPE_META_CENTER_ENTITY
      type: string
    generatedThreshold:
      properties:
        autoThreshold:
          $ref: '#/components/schemas/generatedAutoThreshold'
        constantThreshold:
          $ref: '#/components/schemas/generatedConstantThreshold'
        freshnessScheduleThreshold:
          $ref: '#/components/schemas/generatedFreshnessScheduleThreshold'
        noneThreshold:
          $ref: '#/components/schemas/generatedNoneThreshold'
        relativeThreshold:
          $ref: '#/components/schemas/generatedRelativeThreshold'
        standardDeviationThreshold:
          $ref: '#/components/schemas/generatedStandardDeviationThreshold'
      type: object
    generatedCustomRulesThresholdType:
      default: CUSTOM_RULES_THRESHOLD_TYPE_UNSPECIFIED
      enum:
      - CUSTOM_RULES_THRESHOLD_TYPE_UNSPECIFIED
      - CUSTOM_RULES_THRESHOLD_TYPE_COUNT
      - CUSTOM_RULES_THRESHOLD_TYPE_VALUE
      - CUSTOM_RULES_THRESHOLD_TYPE_PERCENT_MATCH
      type: string
    generatedMetricMetadata:
      properties:
        companionMetrics:
          items:
            $ref: '#/components/schemas/generatedCompanionMetric'
          type: array
        createdAt:
          format: int64
          type: string
        currentMetricStatus:
          $ref: '#/components/schemas/generatedMetricStatus'
        datasetId:
          format: int32
          type: integer
        datasetName:
          type: string
        datasetTimeColumnName:
          type: string
        deletedAt:
          format: int64
          type: string
        fieldId:
          format: int32
          type: integer
        fieldName:
          type: string
        isFavorite:
          type: boolean
        metricHistoryBeginAt:
          format: int64
          type: string
        metricHistoryEndAt:
          format: int64
          type: string
        monitoredObjects:
          items:
            $ref: '#/components/schemas/generatedMonitoredObject'
          type: array
        runAt:
          format: int64
          type: string
        schemaId:
          format: int32
          type: integer
        schemaName:
          type: string
        statisticFullName:
          type: string
        statisticName:
          type: string
        updatedAt:
          format: int64
          type: string
        warehouseId:
          format: int32
          type: integer
        warehouseName:
          type: string
        workspaceId:
          format: int32
          type: integer
      type: object
    generatedWebhookHeader:
      properties:
        key:
          type: string
        value:
          type: string
      type: object
    generatedAggregationType:
      default: UNDEFINED_AGGREGATION_TYPE
      enum:
      - UNDEFINED_AGGREGATION_TYPE
      - COUNT_AGGREGATION_TYPE
      - PERCENT_AGGREGATION_TYPE
      - MIN_AGGREGATION_TYPE
      - MAX_AGGREGATION_TYPE
      - AVG_AGGREGATION_TYPE
      - SUM_AGGREGATION_TYPE
      type: string
    generatedTemplateMetric:
      properties:
        aggregationType:
          $ref: '#/components/schemas/generatedAggregationType'
        templateId:
          format: int32
          type: integer
        templateName:
          type: string
      type: object
    generatedMonitorType:
      default: MONITOR_TYPE_UNDEFINED
      enum:
      - MONITOR_TYPE_UNDEFINED
      - MONITOR_TYPE_METRIC
      - MONITOR_TYPE_DBT_TEST
      - MONITOR_TYPE_CUSTOM_RULE
      type: string
    generatedIssueExternalTicketInfo:
      properties:
        externalTicketId:
          type: string
        externalTicketProvider:
          $ref: '#/components/schemas/generatedExternalTicketProvider'
        externalTicketUrl:
          type: string
        issueId:
          format: int32
          type: integer
      type: object
    generatedDeleteMetricObservedColumnRequest:
      properties:
        columnId:
          format: int32
          type: integer
        metricId:
          format: int32
          type: integer
      type: object
    generatedAutothresholdSensitivity:
      default: AUTOTHRESHOLD_SENSITIVITY_UNSPECIFIED
      enum:
      - AUTOTHRESHOLD_SENSITIVITY_UNSPECIFIED
      - AUTOTHRESHOLD_SENSITIVITY_NARROW
      - AUTOTHRESHOLD_SENSITIVITY_MEDIUM
      - AUTOTHRESHOLD_SENSITIVITY_WIDE
      - AUTOTHRESHOLD_SENSITIVITY_XWIDE
      type: string
    generatedWarehouseType:
      default: DATABASE_TYPE_UNSPECIFIED
      enum:
      - DATABASE_TYPE_UNSPECIFIED
      - DATABASE_TYPE_AWS_ATHENA
      - DATABASE_TYPE_BIGQUERY
      - DATABASE_TYPE_DATABRICKS
      - DATABASE_TYPE_MYSQL
      - DATABASE_TYPE_ORACLE
      - DATABASE_TYPE_POSTGRES
      - DATABASE_TYPE_PRESTO
      - DATABASE_TYPE_REDSHIFT
      - DATABASE_TYPE_SAP_HANA
      - DATABASE_TYPE_SNOWFLAKE
      - DATABASE_TYPE_SQL_SERVER
      - DATABASE_TYPE_SYNAPSE
      - DATABASE_TYPE_ROCKSET
      - DATABASE_TYPE_VERTICA
      - DATABASE_TYPE_AVATICA
      - DATABASE_TYPE_DB2
      - DATABASE_TYPE_TERADATA
      - DATABASE_TYPE_NETEZZA
      - DATABASE_TYPE_SALESFORCE
      type: string
    generatedJoinColumnPairing:
      properties:
        entityInfo:
          $ref: '#/components/schemas/generatedEntityInfo'
        id:
          format: int32
          type: integer
        leftColumn:
          $ref: '#/components/schemas/generatedTableColumn'
        rightColumn:
          $ref: '#/components/schemas/generatedTableColumn'
      type: object
    generatedTableType:
      default: TABLE_TYPE_UNSPECIFIED
      enum:
      - TABLE_TYPE_UNSPECIFIED
      - TABLE_TYPE_TABLE
      - TABLE_TYPE_VIEW
      - TABLE_TYPE_VIRTUAL
      - TABLE_TYPE_CUSTOM_RULE
      type: string
    generatedMetricGroupOverride:
      properties:
        groupDimensions:
          items:
            $ref: '#/components/schemas/generatedMetricGroupDimension'
          type: array
        groupName:
          type: string
        thresholds:
          items:
            $ref: '#/components/schemas/generatedThreshold'
          type: array
      type: object
    generatedRowCreationTimeFilter:
      properties:
        lookback:
          $ref: '#/components/schemas/generatedTimeInterval'
        rctColumn:
          $ref: '#/components/schemas/generatedIdAndDisplayName'
      type: object
    generatedMetricObservedColumnResponse:
      properties:
        column:
          $ref: '#/components/schemas/generatedColumnWithTable'
        comments:
          type: string
        customRule:
          $ref: '#/components/schemas/generatedCustomRuleInfo'
        entityInfo:
          $ref: '#/components/schemas/generatedEntityInfo'
        metric:
          $ref: '#/components/schemas/generatedMetricInfo'
      type: object
    generatedSlackChannelInfo:
      properties:
        channelId:
          type: string
        channelName:
          type: string
        issueThreadPermalink:
          type: string
        threadTs:
          type: string
      type: object
    generatedEmpty:
      type: object
    generatedExternalTicketProvider:
      default: EXTERNAL_TICKET_PROVIDER_UNSPECIFIED
      enum:
      - EXTERNAL_TICKET_PROVIDER_UNSPECIFIED
      - EXTERNAL_TICKET_PROVIDER_JIRA
      - EXTERNAL_TICKET_PROVIDER_SERVICENOW
      type: string
    generatedMetricStatus:
      default: METRIC_STATUS_UNSPECIFIED
      enum:
      - METRIC_STATUS_UNSPECIFIED
      - METRIC_STATUS_ALERTING
      - METRIC_STATUS_FAILED
      - METRIC_STATUS_HEALTHY
      - METRIC_STATUS_NO_OBSERVED_VALUE
      - METRIC_STATUS_GROUPS_MIXED_STATUS
      type: string
    generatedMetricRunAnnotation:
      properties:
        entityInfo:
          $ref: '#/components/schemas/generatedEntityInfo'
        id:
          format: int32
          type: integer
        metricRunId:
          format: int32
          type: integer
        metricRunLabel:
          $ref: '#/components/schemas/generatedMetricRunLabel'
      type: object
    generatedMetricRun:
      properties:
        exceptionClass:
          type: string
        exceptionMessage:
          type: string
        failureReason:
          $ref: '#/components/schemas/generatedMetricRunFailureReason'
        grainEndEpochSeconds:
          format: int64
          title: end of grain for METRIC_TIME based runs
          type: string
        grainStartEpochSeconds:
          format: int64
          title: start of grain for METRIC_TIME based runs
          type: string
        groupDimensions:
          items:
            $ref: '#/components/schemas/generatedMetricGroupDimension'
          type: array
        groupName:
          type: string
        hasRowCounts:
          type: boolean
        hasRowsMatched:
          type: boolean
        id:
          format: int32
          type: integer
        isPosthoc:
          type: boolean
        metricRunAnnotation:
          $ref: '#/components/schemas/generatedMetricRunAnnotation'
        observedValue:
          format: double
          type: number
        rowsMatched:
          format: int64
          type: string
        rowsScanned:
          format: int64
          type: string
        runAtEpochSeconds:
          format: int64
          type: string
        status:
          $ref: '#/components/schemas/generatedMetricRunStatus'
        summaryStatus:
          $ref: '#/components/schemas/generatedMetricStatus'
        thresholds:
          items:
            $ref: '#/components/schemas/generatedConstantThreshold'
          type: array
      type: object
    generatedNamedSchedule:
      properties:
        cron:
          type: string
        entityInfo:
          $ref: '#/components/schemas/generatedEntityInfo'
        id:
          format: int32
          type: integer
        name:
          type: string
        timezone:
          description: IANA timezone id (e.g. "America/New_York") used to interpret the cron. Defaults to UTC when unset.
          type: string
      type: object
    generatedMetricRunLabel:
      default: METRIC_RUN_LABEL_UNSPECIFIED
      enum:
      - METRIC_RUN_LABEL_UNSPECIFIED
      - METRIC_RUN_LABEL_TRUE_NEGATIVE
      - METRIC_RUN_LABEL_FALSE_NEGATIVE
      - METRIC_RUN_LABEL_TRUE_POSITIVE
      - METRIC_RUN_LABEL_FALSE_POSITIVE
      - METRIC_RUN_LABEL_UNDETERMINED
      - METRIC_RUN_LABEL_EXPECTED
      type: string
    generatedCustomRuleInfo:
      properties:
        activeIssue:
          $ref: '#/components/schemas/generatedIdAndDisplayName'
        collections:
          items:
            $ref: '#/components/schemas/generatedIdAndDisplayName'
          type: array
        createdAtEpochSeconds:
          format: int64
          type: string
        createdBy:
          $ref: '#/components/schemas/generatedUser'
        customRule:
          $ref: '#/components/schemas/generatedCustomRule'
        id:
          format: int32
          type: integer
        isFavorite:
          type: boolean
        latestRuns:
          items:
            $ref: '#/components/schemas/generatedMetricRun'
          type: array
        metricId:
          format: int32
          type: integer
        updatedAtEpochSeconds:
          format: int64
          type: string
        updatedBy:
          $ref: '#/components/schemas/generatedUser'
        warehouse:
          $ref: '#/components/schemas/generatedIdAndDisplayName'
      type: object
    generatedPaginationInfo:
      properties:
        firstSortDistinctValues:
          format: int64
          type: string
        nextCursor:
          type: string
        noNumRecords:
          type: boolean
        numRecords:
          format: int32
          type: integer
        prevCursor:
          type: string
      type: object
    generatedEntityInfo:
      properties:
        createdBy:
          format: int32
          type: integer
        createdEpochSeconds:
          format: int64
          type: string
        updatedBy:
          format: int32
          type: integer
        updatedEpochSeconds:
          format: int64
          type: string
      type: object
    generatedStandardDeviationThreshold:
      properties:
        bound:
          $ref: '#/components/schemas/generatedSimpleBound'
        lookback:
          $ref: '#/components/schemas/generatedTimeInterval'
      type: object
    generatedMetricRunStatus:
      default: METRIC_RUN_STATUS_UNSPECIFIED
      enum:
      - METRIC_RUN_STATUS_UNSPECIFIED
      - METRIC_RUN_STATUS_UPPERBOUND_CRITICAL
      - METRIC_RUN_STATUS_LOWERBOUND_CRITICAL
      - METRIC_RUN_STATUS_OK
      - METRIC_RUN_STATUS_GROUPS_CRITICAL
      - METRIC_RUN_STATUS_NO_RUNS
      - METRIC_RUN_STATUS_UNKNOWN
      - METRIC_RUN_STATUS_MUTABLE_UNKNOWN
      - METRIC_RUN_STATUS_MUTABLE_UPPERBOUND_CRITICAL
      - METRIC_RUN_STATUS_MUTABLE_LOWERBOUND_CRITICAL
      - METRIC_RUN_STATUS_MUTABLE_OK
      - METRIC_RUN_STATUS_GROUPS_LIMIT_FAILED
      title: "- METRIC_RUN_STATUS_UNSPECIFIED: deprecated in favor of MetricStatus\n - METRIC_RUN_STATUS_GROUPS_CRITICAL: METRIC_RUN_STATUS_GROUPS_CRITICAL is not a valid value for MetricRun.status (it only applies to MetricInfo.status)\n - METRIC_RUN_STATUS_NO_RUNS: METRIC_RUN_STATUS_NO_RUNS is not a valid value for MetricRun.status (it only applies to MetricInfo.status)"
      type: string
    generatedPredefinedMetricName:
      default: UNDEFINED_PREDEFINED_METRIC_NAME
      enum:
      - UNDEFINED_PREDEFINED_METRIC_NAME
      - PERCENT_NULL
      - COUNT_NULL
      - PERCENT_EMPTY_STRING
      - COUNT_EMPTY_STRING
      - PERCENT_UNIQUE
      - PERCENT_VALUE_IN_LIST
      - AVERAGE
      - MIN
      - MAX
      - SUM
      - COUNT_ROWS
      - COUNT_DISTINCT
      - HOURS_SINCE_MAX_DATE
      - HOURS_SINCE_MAX_TIMESTAMP
      - COUNT_TRUE
      - PERCENT_TRUE
      - COUNT_FALSE
      - PERCENT_FALSE
      - COUNT_USA_PHONE
      - PERCENT_USA_PHONE
      - COUNT_USA_ZIP_CODE
      - PERCENT_USA_ZIP_CODE
      - PERCENT_UUID
      - COUNT_TIMESTAMP_STRING
      - PERCENT_TIMESTAMP_STRING
      - COUNT_DUPLICATES
      - COUNT_USA_STATE_CODE
      - PERCENT_USA_STATE_CODE
      - VARIANCE
      - SKEW
      - KURTOSIS
      - GEOMETRIC_MEAN
      - HARMONIC_MEAN
      - COUNT_UUID
      - COUNT_CUSIP
      - PERCENT_CUSIP
      - COUNT_SEDOL
      - PERCENT_SEDOL
      - COUNT_ISIN
      - PERCENT_ISIN
      - COUNT_LEI
      - PERCENT_LEI
      - COUNT_FIGI
      - PERCENT_FIGI
      - COUNT_PERM_ID
      - PERCENT_PERM_ID
      - COUNT_NAN
      - PERCENT_NAN
      - COUNT_LONGITUDE
      - PERCENT_LONGITUDE
      - COUNT_LATITUDE
      - PERCENT_LATITUDE
      - COUNT_NOT_IN_FUTURE
      - PERCENT_NOT_IN_FUTURE
      - COUNT_DATE_NOT_IN_FUTURE
      - PERCENT_DATE_NOT_IN_FUTURE
      - MEDIAN
      - PERCENTILE
      - COUNT_NOT_NULL
      - STRING_LENGTH_AVERAGE
      - STRING_LENGTH_MIN
      - STRING_LENGTH_MAX
      - COUNT_SSN
      - PERCENT_SSN
      - COUNT_EMAIL
      - PERCENT_EMAIL
      - ROWS_INSERTED
      - HOURS_SINCE_LAST_LOAD
      - COUNT_READ_QUERIES
      - PERCENT_NOT_NULL
      - FRESHNESS
      - VOLUME
      - FRESHNESS_DATA
      - VOLUME_DATA
      - COUNT_VALUE_IN_LIST
      - PERCENT_DISTINCT
      - PERCENT_DUPLICATES
      - HOURS_SINCE_MAX_STRING
      type: string
    generatedExternalMonitorType:
      default: EXTERNAL_MONITOR_TYPE_UNDEFINED
      enum:
      - EXTERNAL_MONITOR_TYPE_UNDEFINED
      - EXTERNAL_MONITOR_TYPE_DBT_TEST
      type: string
    generatedFreshnessScheduleThreshold:
      properties:
        bound:
          $ref: '#/components/schemas/generatedSimpleBound'
        cron:
          type: string
        delayAtUpdate:
          $ref: '#/components/schemas/generatedTimeInterval'
        timezone:
          type: string
      type: object
    generatedWebhook:
      properties:
        webhookHeaders:
          items:
            $ref: '#/components/schemas/generatedWebhookHeader'
          type: array
        webhookUrl:
          type: string
      type: object
    generatedConstantThreshold:
      properties:
        bound:
          $ref: '#/components/schemas/generatedSimpleBound'
      type: object
    generatedCompanionMetric:
      properties:
        id:
          format: int32
          type: integer
        metricInfo:
          $ref: '#/components/schemas/generatedIdAndDisplayName'
        type:
          $ref: '#/components/schemas/generatedCompanionMetricType'
      type: object
    generatedJoinType:
      default: JOIN_TYPE_UNSPECIFIED
      enum:
      - JOIN_TYPE_UNSPECIFIED
      - JOIN_TYPE_INNER
      - JOIN_TYPE_LEFT
      - JOIN_TYPE_RIGHT
      - JOIN_TYPE_FULL
      type: string
    generatedUser:
      properties:
        email:
          type: string
        groups:
          items:
            $ref: '#/components/schemas/generatedIdAndDisplayName'
          type: array
        id:
          format: int32
          type: integer
        idpGroups:
          items:
            type: string
          type: array
        isServiceAccount:
          type: boolean
        lastLoginAt:
          format: int64
          type: string
        name:
          type: string
        pictureUrl:
          type: string
      type: object
    generatedTimeInterval:
      properties:
        intervalType:
          $ref: '#/components/schemas/generatedTimeIntervalType'
        intervalValue:
          format: int32
          type: integer
      type: object
    generatedTable:
      description: '*

        Representation of a table in a warehouse.'
      properties:
        columns:
          items:
            $ref: '#/components/schemas/generatedTableColumn'
          type: array
        dataNodeId:
          format: int32
          type: integer
        databaseName:
          type: string
        id:
          format: int32
          type: integer
        isFavorite:
          type: boolean
        latestMetricTimeValue:
          format: int64
          type: string
        logicalSizeBytes:
          format: int64
          type: string
        metricTimeColumn:
          $ref: '#/components/schemas/generatedTableColumn'
        name:
          type: string
        numQueriesLatestPeriod:
          format: int32
          type: integer
        popularityScore:
          format: double
          type: number
        requiresPartitionFilter:
          type: boolean
        schema:
          $ref: '#/components/schemas/generatedSchema'
        schemaChangeInfo:
          $ref: '#/components/schemas/generatedSchemaChangeInfo'
        schemaId:
          format: int32
          type: integer
        schemaName:
          type: string
        sizeLastUpdatedAtMillis:
          format: int64
          type: string
        tableType:
          $ref: '#/components/schemas/generatedTableType'
        tags:
          items:
            $ref: '#/components/schemas/generatedTag'
          type: array
        usesAgent:
          type: boolean
        warehouseId:
          format: int32
          type: integer
        warehouseName:
          type: string
        warehouseVendor:
          $ref: '#/components/schemas/generatedWarehouseType'
      type: object
    generatedPredefinedMetric:
      properties:
        metricName:
          $ref: '#/components/schemas/generatedPredefinedMetricName'
      type: object
    generatedGetMetricObservedColumnBulkRequest:
      properties:
        columnIds:
          items:
            format: int32
            type: integer
          type: array
        isForCustomRule:
          type: boolean
        metricIds:
          items:
            format: int32
            type: integer
          type: array
        removeDuplicateMetrics:
          type: boolean
        schemaIds:
          items:
            format: int32
            type: integer
          type: array
        sourceIds:
          items:
            format: int32
            type: integer
          type: array
        tableIds:
          items:
            format: int32
            type: integer
          type: array
        tagIds:
          items:
            format: int32
            type: integer
          type: array
      type: object
    generatedMetricInfo:
      properties:
        activeIssue:
          $ref: '#/components/schemas/generatedIdAndDisplayName'
        canBackfill:
          type: boolean
        collections:
          items:
            $ref: '#/components/schemas/generatedIdAndDisplayName'
          type: array
        criticalGroupCount:
          format: int32
          type: integer
        groupCount:
          format: int32
          type: integer
        isBackfillDestructive:
          type: boolean
        isSnoozed:
          type: boolean
        latestMetricRuns:
          items:
            $ref: '#/components/schemas/generatedMetricRun'
          title: Latest metric run results
          type: array
        metricConfiguration:
          $ref: '#/components/schemas/generatedMetricConfiguration'
        metricMetadata:
          $ref: '#/components/schemas/generatedMetricMetadata'
        noValueGroupCount:
          format: int32
          type: integer
        reasonCannotBackfill:
          type: string
        status:
          $ref: '#/components/schemas/generatedMetricRunStatus'
        tags:
          items:
            $ref: '#/components/schemas/generatedTag'
          type: array
      type: object
    protobufAny:
      properties:
        typeUrl:
          type: string
        value:
          format: byte
          type: string
      type: object
    generatedForecastModelType:
      default: UNDEFINED_THRESHOLD_MODEL_TYPE
      enum:
      - UNDEFINED_THRESHOLD_MODEL_TYPE
      type: string
    generatedNoneThreshold:
      type: object
    generatedMetricSchedule:
      properties:
        namedSchedule:
          $ref: '#/components/schemas/generatedNamedSchedule'
        scheduleFrequency:
          $ref: '#/components/schemas/generatedTimeInterval'
      type: object
    generatedSchemaChangeInfo:
      properties:
        initialSchemaScanAt:
          format: int64
          type: string
        lastSchemaChangeAt:
          format: int64
          type: string
        mostRecentSchemaScanAt:
 

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bigeye/refs/heads/main/openapi/bigeye-metricobservedcolumnservice-api-openapi.yml