GitHub Raw JSON API

SigNoz / signoz

31,830 TypeScript

SigNoz is an open-source, OpenTelemetry-native observability platform for your team and their AI agents. Get logs, metrics, and traces in one tool with features like APM, distributed tracing, log management, infra monitoring, etc. Combined with SigNoz MCP and a native AI teammate (in SigNoz Cloud) it helps you build more resilient apps.

signoz Specification

Located in docs/api/openapi.yml on branch HEAD

3.x (YAML) YAML 735.0 KB
Raw YAML Specification
components:
  schemas:
    AlertmanagertypesChannel:
      properties:
        createdAt:
          format: date-time
          type: string
        data:
          type: string
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        type:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - type
      - data
      - orgId
      type: object
    AlertmanagertypesDeprecatedGettableAlert:
      properties:
        annotations:
          $ref: '#/components/schemas/ModelLabelSet'
        endsAt:
          format: date-time
          type: string
        fingerprint:
          type: string
        generatorURL:
          type: string
        labels:
          $ref: '#/components/schemas/ModelLabelSet'
        receivers:
          items:
            type: string
          nullable: true
          type: array
        startsAt:
          format: date-time
          type: string
        status:
          $ref: '#/components/schemas/TypesAlertStatus'
      type: object
    AlertmanagertypesExpressionKind:
      enum:
      - rule
      - policy
      type: string
    AlertmanagertypesGettableRoutePolicy:
      properties:
        channels:
          items:
            type: string
          nullable: true
          type: array
        createdAt:
          format: date-time
          type: string
        createdBy:
          nullable: true
          type: string
        description:
          type: string
        expression:
          type: string
        id:
          type: string
        kind:
          $ref: '#/components/schemas/AlertmanagertypesExpressionKind'
        name:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          nullable: true
          type: string
      required:
      - expression
      - channels
      - name
      - id
      - createdAt
      - updatedAt
      type: object
    AlertmanagertypesGoogleChatReceiverConfig:
      properties:
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        send_resolved:
          type: boolean
        text:
          type: string
        title:
          type: string
        webhook_url:
          $ref: '#/components/schemas/ConfigSecretURL'
      type: object
    AlertmanagertypesMaintenanceKind:
      enum:
      - fixed
      - recurring
      type: string
    AlertmanagertypesMaintenanceStatus:
      enum:
      - active
      - upcoming
      - expired
      type: string
    AlertmanagertypesPlannedMaintenance:
      properties:
        alertIds:
          items:
            type: string
          nullable: true
          type: array
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        description:
          type: string
        id:
          type: string
        kind:
          $ref: '#/components/schemas/AlertmanagertypesMaintenanceKind'
        name:
          type: string
        schedule:
          $ref: '#/components/schemas/AlertmanagertypesSchedule'
        scope:
          type: string
        status:
          $ref: '#/components/schemas/AlertmanagertypesMaintenanceStatus'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - name
      - schedule
      - status
      - kind
      type: object
    AlertmanagertypesPostableChannel:
      oneOf:
      - required:
        - googlechat_configs
      - required:
        - discord_configs
      - required:
        - email_configs
      - required:
        - incidentio_configs
      - required:
        - pagerduty_configs
      - required:
        - slack_configs
      - required:
        - webhook_configs
      - required:
        - opsgenie_configs
      - required:
        - wechat_configs
      - required:
        - pushover_configs
      - required:
        - victorops_configs
      - required:
        - sns_configs
      - required:
        - telegram_configs
      - required:
        - webex_configs
      - required:
        - msteams_configs
      - required:
        - msteamsv2_configs
      - required:
        - jira_configs
      - required:
        - rocketchat_configs
      - required:
        - mattermost_configs
      properties:
        discord_configs:
          items:
            $ref: '#/components/schemas/ConfigDiscordConfig'
          type: array
        email_configs:
          items:
            $ref: '#/components/schemas/ConfigEmailConfig'
          type: array
        googlechat_configs:
          items:
            $ref: '#/components/schemas/AlertmanagertypesGoogleChatReceiverConfig'
          type: array
        incidentio_configs:
          items:
            $ref: '#/components/schemas/ConfigIncidentioConfig'
          type: array
        jira_configs:
          items:
            $ref: '#/components/schemas/ConfigJiraConfig'
          type: array
        mattermost_configs:
          items:
            $ref: '#/components/schemas/ConfigMattermostConfig'
          type: array
        msteams_configs:
          items:
            $ref: '#/components/schemas/ConfigMSTeamsConfig'
          type: array
        msteamsv2_configs:
          items:
            $ref: '#/components/schemas/ConfigMSTeamsV2Config'
          type: array
        name:
          type: string
        opsgenie_configs:
          items:
            $ref: '#/components/schemas/ConfigOpsGenieConfig'
          type: array
        pagerduty_configs:
          items:
            $ref: '#/components/schemas/ConfigPagerdutyConfig'
          type: array
        pushover_configs:
          items:
            $ref: '#/components/schemas/ConfigPushoverConfig'
          type: array
        rocketchat_configs:
          items:
            $ref: '#/components/schemas/ConfigRocketchatConfig'
          type: array
        slack_configs:
          items:
            $ref: '#/components/schemas/ConfigSlackConfig'
          type: array
        sns_configs:
          items:
            $ref: '#/components/schemas/ConfigSNSConfig'
          type: array
        telegram_configs:
          items:
            $ref: '#/components/schemas/ConfigTelegramConfig'
          type: array
        victorops_configs:
          items:
            $ref: '#/components/schemas/ConfigVictorOpsConfig'
          type: array
        webex_configs:
          items:
            $ref: '#/components/schemas/ConfigWebexConfig'
          type: array
        webhook_configs:
          items:
            $ref: '#/components/schemas/ConfigWebhookConfig'
          type: array
        wechat_configs:
          items:
            $ref: '#/components/schemas/ConfigWechatConfig'
          type: array
      required:
      - name
      type: object
    AlertmanagertypesPostablePlannedMaintenance:
      properties:
        alertIds:
          items:
            type: string
          nullable: true
          type: array
        description:
          type: string
        name:
          type: string
        schedule:
          $ref: '#/components/schemas/AlertmanagertypesSchedule'
        scope:
          type: string
      required:
      - name
      - schedule
      type: object
    AlertmanagertypesPostableRoutePolicy:
      properties:
        channels:
          items:
            type: string
          nullable: true
          type: array
        description:
          type: string
        expression:
          type: string
        kind:
          $ref: '#/components/schemas/AlertmanagertypesExpressionKind'
        name:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      required:
      - expression
      - channels
      - name
      type: object
    AlertmanagertypesReceiver:
      properties:
        discord_configs:
          items:
            $ref: '#/components/schemas/ConfigDiscordConfig'
          type: array
        email_configs:
          items:
            $ref: '#/components/schemas/ConfigEmailConfig'
          type: array
        googlechat_configs:
          items:
            $ref: '#/components/schemas/AlertmanagertypesGoogleChatReceiverConfig'
          type: array
        incidentio_configs:
          items:
            $ref: '#/components/schemas/ConfigIncidentioConfig'
          type: array
        jira_configs:
          items:
            $ref: '#/components/schemas/ConfigJiraConfig'
          type: array
        mattermost_configs:
          items:
            $ref: '#/components/schemas/ConfigMattermostConfig'
          type: array
        msteams_configs:
          items:
            $ref: '#/components/schemas/ConfigMSTeamsConfig'
          type: array
        msteamsv2_configs:
          items:
            $ref: '#/components/schemas/ConfigMSTeamsV2Config'
          type: array
        name:
          type: string
        opsgenie_configs:
          items:
            $ref: '#/components/schemas/ConfigOpsGenieConfig'
          type: array
        pagerduty_configs:
          items:
            $ref: '#/components/schemas/ConfigPagerdutyConfig'
          type: array
        pushover_configs:
          items:
            $ref: '#/components/schemas/ConfigPushoverConfig'
          type: array
        rocketchat_configs:
          items:
            $ref: '#/components/schemas/ConfigRocketchatConfig'
          type: array
        slack_configs:
          items:
            $ref: '#/components/schemas/ConfigSlackConfig'
          type: array
        sns_configs:
          items:
            $ref: '#/components/schemas/ConfigSNSConfig'
          type: array
        telegram_configs:
          items:
            $ref: '#/components/schemas/ConfigTelegramConfig'
          type: array
        victorops_configs:
          items:
            $ref: '#/components/schemas/ConfigVictorOpsConfig'
          type: array
        webex_configs:
          items:
            $ref: '#/components/schemas/ConfigWebexConfig'
          type: array
        webhook_configs:
          items:
            $ref: '#/components/schemas/ConfigWebhookConfig'
          type: array
        wechat_configs:
          items:
            $ref: '#/components/schemas/ConfigWechatConfig'
          type: array
      type: object
    AlertmanagertypesRecurrence:
      properties:
        duration:
          type: string
        repeatOn:
          items:
            $ref: '#/components/schemas/AlertmanagertypesRepeatOn'
          nullable: true
          type: array
        repeatType:
          $ref: '#/components/schemas/AlertmanagertypesRepeatType'
      required:
      - duration
      - repeatType
      type: object
    AlertmanagertypesRepeatOn:
      enum:
      - sunday
      - monday
      - tuesday
      - wednesday
      - thursday
      - friday
      - saturday
      type: string
    AlertmanagertypesRepeatType:
      enum:
      - daily
      - weekly
      - monthly
      type: string
    AlertmanagertypesSchedule:
      properties:
        endTime:
          format: date-time
          type: string
        recurrence:
          $ref: '#/components/schemas/AlertmanagertypesRecurrence'
        startTime:
          format: date-time
          type: string
        timezone:
          type: string
      required:
      - timezone
      - startTime
      type: object
    AuthtypesAttributeMapping:
      properties:
        email:
          type: string
        groups:
          type: string
        name:
          type: string
        role:
          type: string
      type: object
    AuthtypesAuthDomainConfig:
      discriminator:
        mapping:
          google: '#/components/schemas/AuthtypesAuthDomainConfigGoogle'
          oidc: '#/components/schemas/AuthtypesAuthDomainConfigOIDC'
          saml: '#/components/schemas/AuthtypesAuthDomainConfigSAML'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/AuthtypesAuthDomainConfigSAML'
      - $ref: '#/components/schemas/AuthtypesAuthDomainConfigGoogle'
      - $ref: '#/components/schemas/AuthtypesAuthDomainConfigOIDC'
      type: object
    AuthtypesAuthDomainConfigGoogle:
      properties:
        kind:
          $ref: '#/components/schemas/AuthtypesAuthNProvider'
        spec:
          $ref: '#/components/schemas/AuthtypesGoogleConfig'
      required:
      - kind
      - spec
      type: object
    AuthtypesAuthDomainConfigOIDC:
      properties:
        kind:
          $ref: '#/components/schemas/AuthtypesAuthNProvider'
        spec:
          $ref: '#/components/schemas/AuthtypesOIDCConfig'
      required:
      - kind
      - spec
      type: object
    AuthtypesAuthDomainConfigSAML:
      properties:
        kind:
          $ref: '#/components/schemas/AuthtypesAuthNProvider'
        spec:
          $ref: '#/components/schemas/AuthtypesSamlConfig'
      required:
      - kind
      - spec
      type: object
    AuthtypesAuthNProvider:
      enum:
      - google
      - saml
      - email_password
      - oidc
      type: string
    AuthtypesAuthNProviderInfo:
      properties:
        relayStatePath:
          nullable: true
          type: string
      type: object
    AuthtypesAuthNSupport:
      properties:
        callback:
          items:
            $ref: '#/components/schemas/AuthtypesCallbackAuthNSupport'
          nullable: true
          type: array
        password:
          items:
            $ref: '#/components/schemas/AuthtypesPasswordAuthNSupport'
          nullable: true
          type: array
      type: object
    AuthtypesCallbackAuthNSupport:
      properties:
        provider:
          $ref: '#/components/schemas/AuthtypesAuthNProvider'
        url:
          type: string
      type: object
    AuthtypesDeprecatedPostableUserRole:
      properties:
        id:
          type: string
      required:
      - id
      type: object
    AuthtypesGettableAuthDomain:
      properties:
        authNProviderInfo:
          $ref: '#/components/schemas/AuthtypesAuthNProviderInfo'
        config:
          $ref: '#/components/schemas/AuthtypesAuthDomainConfig'
        createdAt:
          format: date-time
          type: string
        enabled:
          type: boolean
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        roleMapping:
          $ref: '#/components/schemas/AuthtypesRoleMapping'
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      type: object
    AuthtypesGettableRole:
      properties:
        createdAt:
          format: date-time
          type: string
        description:
          type: string
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        type:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - description
      - type
      - orgId
      type: object
    AuthtypesGettableToken:
      properties:
        accessToken:
          type: string
        expiresIn:
          type: integer
        refreshToken:
          type: string
        tokenType:
          type: string
      type: object
    AuthtypesGettableTransaction:
      properties:
        authorized:
          type: boolean
        object:
          $ref: '#/components/schemas/CoretypesObject'
        relation:
          $ref: '#/components/schemas/AuthtypesRelation'
      required:
      - relation
      - object
      - authorized
      type: object
    AuthtypesGoogleConfig:
      properties:
        allowedGroups:
          items:
            type: string
          type: array
        clientId:
          type: string
        clientSecret:
          format: password
          type: string
        domainToAdminEmail:
          additionalProperties:
            type: string
          type: object
        fetchGroups:
          type: boolean
        fetchTransitiveGroupMembership:
          type: boolean
        insecureSkipEmailVerified:
          type: boolean
        serviceAccountJson:
          format: password
          type: string
      required:
      - clientId
      - clientSecret
      type: object
    AuthtypesOIDCConfig:
      properties:
        claimMapping:
          $ref: '#/components/schemas/AuthtypesAttributeMapping'
        clientId:
          type: string
        clientSecret:
          format: password
          type: string
        getUserInfo:
          type: boolean
        insecureSkipEmailVerified:
          type: boolean
        issuer:
          type: string
        issuerAlias:
          type: string
      required:
      - issuer
      - clientId
      - clientSecret
      type: object
    AuthtypesOrgSessionContext:
      properties:
        authNSupport:
          $ref: '#/components/schemas/AuthtypesAuthNSupport'
        id:
          type: string
        name:
          type: string
        warning:
          $ref: '#/components/schemas/ErrorsJSON'
      type: object
    AuthtypesPasswordAuthNSupport:
      properties:
        provider:
          $ref: '#/components/schemas/AuthtypesAuthNProvider'
      type: object
    AuthtypesPostableAuthDomain:
      properties:
        config:
          $ref: '#/components/schemas/AuthtypesAuthDomainConfig'
        enabled:
          type: boolean
        name:
          type: string
        roleMapping:
          $ref: '#/components/schemas/AuthtypesRoleMapping'
      required:
      - name
      - config
      type: object
    AuthtypesPostableEmailPasswordSession:
      properties:
        email:
          type: string
        orgId:
          type: string
        password:
          type: string
      type: object
    AuthtypesPostableRole:
      properties:
        description:
          type: string
        name:
          type: string
        transactionGroups:
          $ref: '#/components/schemas/AuthtypesTransactionGroups'
      required:
      - name
      type: object
    AuthtypesPostableRotateToken:
      properties:
        refreshToken:
          type: string
      type: object
    AuthtypesPostableUser:
      properties:
        displayName:
          type: string
        email:
          type: string
        frontendBaseUrl:
          type: string
        userRoles:
          items:
            $ref: '#/components/schemas/AuthtypesDeprecatedPostableUserRole'
          type: array
      required:
      - email
      type: object
    AuthtypesPostableUserRole:
      properties:
        roleId:
          type: string
        userId:
          type: string
      required:
      - userId
      - roleId
      type: object
    AuthtypesRelation:
      enum:
      - create
      - read
      - update
      - delete
      - list
      - assignee
      - attach
      - detach
      type: string
    AuthtypesRole:
      properties:
        createdAt:
          format: date-time
          type: string
        description:
          type: string
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        transactionGroups:
          $ref: '#/components/schemas/AuthtypesTransactionGroups'
        type:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - description
      - type
      - orgId
      - transactionGroups
      type: object
    AuthtypesRoleMapping:
      properties:
        defaultRole:
          type: string
        groupMappings:
          additionalProperties:
            type: string
          nullable: true
          type: object
        useRoleAttribute:
          type: boolean
      type: object
    AuthtypesSamlConfig:
      properties:
        attributeMapping:
          $ref: '#/components/schemas/AuthtypesAttributeMapping'
        certificate:
          type: string
        entityId:
          type: string
        insecureSkipAuthNRequestsSigned:
          type: boolean
        location:
          type: string
      required:
      - entityId
      - location
      - certificate
      type: object
    AuthtypesSessionContext:
      properties:
        exists:
          type: boolean
        orgs:
          items:
            $ref: '#/components/schemas/AuthtypesOrgSessionContext'
          nullable: true
          type: array
      type: object
    AuthtypesTransaction:
      properties:
        object:
          $ref: '#/components/schemas/CoretypesObject'
        relation:
          $ref: '#/components/schemas/AuthtypesRelation'
      required:
      - relation
      - object
      type: object
    AuthtypesTransactionGroup:
      properties:
        objectGroup:
          $ref: '#/components/schemas/CoretypesObjectGroup'
        relation:
          $ref: '#/components/schemas/AuthtypesRelation'
      required:
      - relation
      - objectGroup
      type: object
    AuthtypesTransactionGroups:
      items:
        $ref: '#/components/schemas/AuthtypesTransactionGroup'
      type: array
    AuthtypesUpdatableAuthDomain:
      properties:
        config:
          $ref: '#/components/schemas/AuthtypesAuthDomainConfig'
        enabled:
          type: boolean
        roleMapping:
          $ref: '#/components/schemas/AuthtypesRoleMapping'
      required:
      - config
      type: object
    AuthtypesUpdatableRole:
      properties:
        description:
          type: string
        transactionGroups:
          $ref: '#/components/schemas/AuthtypesTransactionGroups'
      required:
      - description
      - transactionGroups
      type: object
    AuthtypesUserRole:
      properties:
        createdAt:
          format: date-time
          type: string
        id:
          type: string
        role:
          $ref: '#/components/schemas/AuthtypesRole'
        roleId:
          type: string
        updatedAt:
          format: date-time
          type: string
        userId:
          type: string
      required:
      - id
      - userId
      - roleId
      - createdAt
      - updatedAt
      - role
      type: object
    AuthtypesUserWithRoles:
      properties:
        createdAt:
          format: date-time
          type: string
        displayName:
          type: string
        email:
          type: string
        id:
          type: string
        isRoot:
          type: boolean
        orgId:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
        userRoles:
          items:
            $ref: '#/components/schemas/AuthtypesUserRole'
          nullable: true
          type: array
      required:
      - id
      type: object
    CloudintegrationtypesAWSAccountConfig:
      properties:
        regions:
          items:
            type: string
          type: array
      required:
      - regions
      type: object
    CloudintegrationtypesAWSCloudWatchLogsSubscription:
      properties:
        filterPattern:
          type: string
        logGroupNamePrefix:
          type: string
      required:
      - logGroupNamePrefix
      - filterPattern
      type: object
    CloudintegrationtypesAWSCloudWatchMetricStreamFilter:
      properties:
        metricNames:
          items:
            type: string
          type: array
        namespace:
          type: string
      required:
      - namespace
      type: object
    CloudintegrationtypesAWSConnectionArtifact:
      properties:
        connectionUrl:
          type: string
      required:
      - connectionUrl
      type: object
    CloudintegrationtypesAWSIntegrationConfig:
      properties:
        enabledRegions:
          items:
            type: string
          type: array
        telemetryCollectionStrategy:
          $ref: '#/components/schemas/CloudintegrationtypesAWSTelemetryCollectionStrategy'
      required:
      - enabledRegions
      - telemetryCollectionStrategy
      type: object
    CloudintegrationtypesAWSLogsCollectionStrategy:
      properties:
        subscriptions:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesAWSCloudWatchLogsSubscription'
          type: array
      required:
      - subscriptions
      type: object
    CloudintegrationtypesAWSMetricsCollectionStrategy:
      properties:
        streamFilters:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesAWSCloudWatchMetricStreamFilter'
          type: array
      required:
      - streamFilters
      type: object
    CloudintegrationtypesAWSPostableAccountConfig:
      properties:
        deploymentRegion:
          type: string
        regions:
          items:
            type: string
          type: array
      required:
      - deploymentRegion
      - regions
      type: object
    CloudintegrationtypesAWSServiceConfig:
      properties:
        logs:
          $ref: '#/components/schemas/CloudintegrationtypesAWSServiceLogsConfig'
        metrics:
          $ref: '#/components/schemas/CloudintegrationtypesAWSServiceMetricsConfig'
      type: object
    CloudintegrationtypesAWSServiceLogsConfig:
      properties:
        enabled:
          type: boolean
        s3Buckets:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
      type: object
    CloudintegrationtypesAWSServiceMetricsConfig:
      properties:
        enabled:
          type: boolean
      type: object
    CloudintegrationtypesAWSTelemetryCollectionStrategy:
      properties:
        logs:
          $ref: '#/components/schemas/CloudintegrationtypesAWSLogsCollectionStrategy'
        metrics:
          $ref: '#/components/schemas/CloudintegrationtypesAWSMetricsCollectionStrategy'
        s3Buckets:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
      type: object
    CloudintegrationtypesAccount:
      properties:
        agentReport:
          $ref: '#/components/schemas/CloudintegrationtypesAgentReport'
        config:
          $ref: '#/components/schemas/CloudintegrationtypesAccountConfig'
        createdAt:
          format: date-time
          type: string
        id:
          type: string
        orgId:
          type: string
        provider:
          type: string
        providerAccountId:
          nullable: true
          type: string
        removedAt:
          format: date-time
          nullable: true
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - providerAccountId
      - provider
      - removedAt
      - agentReport
      - orgId
      - config
      type: object
    CloudintegrationtypesAccountConfig:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSAccountConfig'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesAzureAccountConfig'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesGCPAccountConfig'
      type: object
    CloudintegrationtypesAgentReport:
      nullable: true
      properties:
        data:
          additionalProperties: {}
          nullable: true
          type: object
        timestampMillis:
          format: int64
          type: integer
      required:
      - timestampMillis
      - data
      type: object
    CloudintegrationtypesAzureAccountConfig:
      properties:
        deploymentRegion:
          type: string
        resourceGroups:
          items:
            type: string
          type: array
      required:
      - deploymentRegion
      - resourceGroups
      type: object
    CloudintegrationtypesAzureConnectionArtifact:
      properties:
        cliCommand:
          type: string
        cloudPowerShellCommand:
          type: string
      required:
      - cliCommand
      - cloudPowerShellCommand
      type: object
    CloudintegrationtypesAzureIntegrationConfig:
      properties:
        deploymentRegion:
          type: string
        resourceGroups:
          items:
            type: string
          type: array
        telemetryCollectionStrategy:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesAzureTelemetryCollectionStrategy'
          type: array
      required:
      - deploymentRegion
      - resourceGroups
      - telemetryCollectionStrategy
      type: object
    CloudintegrationtypesAzureLogsCollectionStrategy:
      properties:
        categoryGroups:
          items:
            type: string
          type: array
      required:
      - categoryGroups
      type: object
    CloudintegrationtypesAzureMetricsCollectionStrategy:
      type: object
    CloudintegrationtypesAzureServiceConfig:
      properties:
        logs:
          $ref: '#/components/schemas/CloudintegrationtypesAzureServiceLogsConfig'
        metrics:
          $ref: '#/components/schemas/CloudintegrationtypesAzureServiceMetricsConfig'
      required:
      - logs
      - metrics
      type: object
    CloudintegrationtypesAzureServiceLogsConfig:
      properties:
        enabled:
          type: boolean
      type: object
    CloudintegrationtypesAzureServiceMetricsConfig:
      properties:
        enabled:
          type: boolean
      type: object
    CloudintegrationtypesAzureTelemetryCollectionStrategy:
      properties:
        logs:
          $ref: '#/components/schemas/CloudintegrationtypesAzureLogsCollectionStrategy'
        metrics:
          $ref: '#/components/schemas/CloudintegrationtypesAzureMetricsCollectionStrategy'
        resourceProvider:
          type: string
        resourceType:
          type: string
      required:
      - resourceProvider
      - resourceType
      type: object
    CloudintegrationtypesCloudIntegrationService:
      nullable: true
      properties:
        cloudIntegrationId:
          type: string
        config:
          $ref: '#/components/schemas/CloudintegrationtypesServiceConfig'
        createdAt:
          format: date-time
          type: string
        id:
          type: string
        type:
          $ref: '#/components/schemas/CloudintegrationtypesServiceID'
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      type: object
    CloudintegrationtypesCollectedLogAttribute:
      properties:
        name:
          type: string
        path:
          type: string
        type:
          type: string
      type: object
    CloudintegrationtypesCollectedMetric:
      properties:
        description:
          type: string
        name:
          type: string
        type:
          type: string
        unit:
          type: string
      type: object
    CloudintegrationtypesConnectionArtifact:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSConnectionArtifact'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesAzureConnectionArtifact'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesGCPConnectionArtifact'
      type: object
    CloudintegrationtypesCredentials:
      properties:
        ingestionKey:
          type: string
        ingestionUrl:
          type: string
        sigNozApiKey:
          type: string
        sigNozApiUrl:
          type: string
      required:
      - sigNozApiUrl
      - sigNozApiKey
      - ingestionUrl
      - ingestionKey
      type: object
    CloudintegrationtypesDataCollected:
      properties:
        logs:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesCollectedLogAttribute'
          nullable: true
          type: array
        metrics:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesCollectedMetric'
          nullable: true
          type: array
      type: object
    CloudintegrationtypesGCPAccountConfig:
      properties:
        deploymentProjectId:
          type: string
        deploymentRegion:
          type: string
        projectIds:
          items:
            type: string
          type: array
      required:
      - deploymentProjectId
      - deploymentRegion
      - projectIds
      type: object
    CloudintegrationtypesGCPConnectionArtifact:
      type: object
    CloudintegrationtypesGCPIntegrationConfig:
      type: object
    CloudintegrationtypesGCPServiceConfig:
      properties:
        logs:
          $ref: '#/components/schemas/CloudintegrationtypesGCPServiceLogsConfig'
        metrics:
          $ref: '#/components/schemas/CloudintegrationtypesGCPServiceMetricsConfig'
      type: object
    CloudintegrationtypesGCPServiceLogsConfig:
      properties:
        enabled:
          type: boolean
      required:
      - enabled
      type: object
    CloudintegrationtypesGCPServiceMetricsConfig:
      properties:
        enabled:
          type: boolean
      required:
      - enabled
      type: object
    CloudintegrationtypesGettableAccountWithConnectionArtifact:
      properties:
        connectionArtifact:
          $ref: '#/components/schemas/CloudintegrationtypesConnectionArtifact'
        id:
          type: string
      required:
      - id
      - connectionArtifact
      type: object
    CloudintegrationtypesGettableAccounts:
      properties:
        accounts:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesAccount'
          type: array
      required:
      - accounts
      type: object
    CloudintegrationtypesGettableAgentCheckIn:
      properties:
        account_id:
          type: string
        cloud_account_id:
          type: string
        cloudIntegrationId:
          type: string
        integration_config:
          $ref: '#/components/schemas/CloudintegrationtypesIntegrationConfig'
        integrationConfig:
          $ref: '#/components/schemas/CloudintegrationtypesProviderIntegrationConfig'
        providerAccountId:
          type: string
        removed_at:
          format: date-time
          nullable: true
          type: string
        removedAt:
          format: date-time
          nullable: true
          type: string
      required:
      - account_id
      - cloud_account_id
      - integration_config
      - removed_at
      - cloudIntegrationId
      - providerAccountId
      - integrationConfig
      - removedAt
      type: object
    CloudintegrationtypesGettableServicesMetadata:
      properties:
        services:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesServiceMetadata'
          type: array
      required:
      - services
      type: object
    CloudintegrationtypesIntegrationConfig:
      nullable: true
      properties:
        enabled_regions:
          items:
            type: string
          type: array
        telemetry:
          $ref: '#/components/schemas/CloudintegrationtypesOldAWSCollectionStrategy'
      required:
      - enabled_regions
      - telemetry
      type: object
    CloudintegrationtypesOldAWSCollectionStrategy:
      properties:
        aws_logs:
          $ref: '#/components/schemas/CloudintegrationtypesOldAWSLogsStrategy'
        aws_metrics:
          $ref: '#/components/schemas/CloudintegrationtypesOldAWSMetricsStrategy'
        provider:
          type: string
        s3_buckets:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
      type: object
    CloudintegrationtypesOldAWSLogsStrategy:
      properties:
        cloudwatch_logs_subscriptions:
          items:
            properties:
              filter_pattern:
                type: string
              log_group_name_prefix:
                type: string
            type: object
          nullable: true
          type: array
      type: object
    CloudintegrationtypesOldAWSMetricsStrategy:
      properties:
        cloudwatch_metric_stream_filters:
          items:
            properties:
              MetricNames:
                items:
                  type: string
                type: array
              Namespace:
                type: string
            type: object
          nullable: true
          type: array
      type: object
    CloudintegrationtypesPostableAccount:
      properties:
        config:
          $ref: '#/components/schemas/CloudintegrationtypesPostableAccountConfig'
        credentials:
          $ref: '#/components/schemas/CloudintegrationtypesCredentials'
      required:
      - config
      - credentials
      type: object
    CloudintegrationtypesPostableAccountConfig:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSPostableAccountConfig'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesAzureAccountConfig'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesGCPAccountConfig'
      type: object
    CloudintegrationtypesPostableAgentCheckIn:
      properties:
        account_id:
          type: string
        cloud_account_id:
          type: string
        cloudIntegrationId:
          type: string
        data:
          additionalProperties: {}
          nullable: true
          type: object
        providerAccountId:
          type: string
      required:
      - data
      type: object
    CloudintegrationtypesProviderIntegrationConfig:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSIntegrationConfig'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesAzureIntegrationConfig'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesGCPIntegrationConfig'
      type: object
    CloudintegrationtypesService:
      properties:
        assets:
          $ref: '#/components/schemas/CloudintegrationtypesServiceAssets'
        cloudIntegrationService:
          $ref: '#/components/schemas/CloudintegrationtypesCloudIntegrationService'
        dataCollected:
          $ref: '#/components/schemas/CloudintegrationtypesDataCollected'
        icon:
          type: string
        id:
          type: string
        overview:
          type: string
        supportedSignals:
          $ref: '#/components/schemas/CloudintegrationtypesSupportedSignals'
        title:
          type: string
      required:
      - id
      - title
      - icon
      - overview
      - assets
      - supportedSignals
      - dataCollected
      - cloudIntegrationService
      type: object
    CloudintegrationtypesServiceAssets:
      properties:
        dashboards:
          items:
            $ref: '#/components/schemas/CloudintegrationtypesServiceDashboard'
          type: array
      required:
      - dashboards
      type: object
    CloudintegrationtypesServiceConfig:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSServiceConfig'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesAzureServiceConfig'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesGCPServiceConfig'
      type: object
    CloudintegrationtypesServiceDashboard:
      properties:
        description:
          type: string
        integrationDashboard:
          $ref: '#/components/schemas/CloudintegrationtypesStorableIntegrationDashboard'
        title:
          type: string
      required:
      - title
      - description
      type: object
    CloudintegrationtypesServiceID:
      enum:
      - alb
      - api-gateway
      - dynamodb
      - ec2
      - ecs
      - eks
      - elasticache
      - lambda
      - msk
      - rds
      - s3sync
      - sns
      - sqs
      - storageaccountsblob
      - cdnprofile
      - virtualmachine
      - appservice
      - containerapp
      - aks
      - sqldatabase
      - sqldatabasemi
      - mysqlflexibleserver
      - postgresqlflexibleserver
      - mongodb
      - cosmosdb
      - cassandradb
      - redis
      - cloudsql_postgres
      - memorystore_redis
      - computeengine
      - gke
      - cloudstorage
      - cloudsql_mysql
      type: string
    CloudintegrationtypesServiceMetadata:
      properties:
        enabled:
          type: boolean
        icon:
          type: string
        id:
          type: string
        title:
          type: string
      required:
      - id
      - title
      - icon
      - enabled
      type: object
    CloudintegrationtypesStorableIntegrationDashboard:
      properties:
        createdAt:
          format: date-time
          type: string
        dashboardId:
          type: string
        id:
          type: string
        provider:
          type: string
        slug:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - dashboardId
      - provider
      - slug
      - createdAt
      - updatedAt
      type: object
    CloudintegrationtypesSupportedSignals:
      properties:
        logs:
          type: boolean
        metrics:
          type: boolean
      type: object
    CloudintegrationtypesUpdatableAccount:
      properties:
        config:
          $ref: '#/components/schemas/CloudintegrationtypesUpdatableAccountConfig'
      required:
      - config
      type: object
    CloudintegrationtypesUpdatableAccountConfig:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSAccountConfig'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesUpdatableAzureAccountConfig'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesUpdatableGCPAccountConfig'
      type: object
    CloudintegrationtypesUpdatableAzureAccountConfig:
      properties:
        resourceGroups:
          items:
            type: string
          type: array
      required:
      - resourceGroups
      type: object
    CloudintegrationtypesUpdatableGCPAccountConfig:
      properties:
        deploymentProjectId:
          type: string
        deploymentRegion:
          type: string
        projectIds:
          items:
            type: string
          nullable: true
          type: array
      required:
      - deploymentProjectId
      - deploymentRegion
      - projectIds
      type: object
    CloudintegrationtypesUpdatableService:
      properties:
        config:
          $ref: '#/components/schemas/CloudintegrationtypesServiceConfig'
      required:
      - config
      type: object
    CommonJSONRef:
      properties:
        $ref:
          type: string
      type: object
    ConfigAuthorization:
      properties:
        credentials:
          type: string
        credentials_file:
          type: string
        credentials_ref:
          type: string
        type:
          type: string
      type: object
    ConfigBasicAuth:
      properties:
        password:
          type: string
        password_file:
          type: string
        password_ref:
          type: string
        username:
          type: string
        username_file:
          type: string
        username_ref:
          type: string
      type: object
    ConfigDiscordConfig:
      properties:
        avatar_url:
          type: string
        content:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        send_resolved:
          type: boolean
        title:
          type: string
        username:
          type: string
        webhook_url:
          $ref: '#/components/schemas/ConfigSecretURL'
        webhook_url_file:
          type: string
      type: object
    ConfigDuration:
      format: int64
      type: string
    ConfigEmailConfig:
      properties:
        auth_identity:
          type: string
        auth_password:
          type: string
        auth_password_file:
          type: string
        auth_secret:
          type: string
        auth_secret_file:
          type: string
        auth_username:
          type: string
        force_implicit_tls:
          nullable: true
          type: boolean
        from:
          type: string
        headers:
          additionalProperties:
            type: string
          type: object
        hello:
          type: string
        html:
          type: string
        require_tls:
          nullable: true
          type: boolean
        send_resolved:
          type: boolean
        smarthost:
          $ref: '#/components/schemas/ConfigHostPort'
        text:
          type: string
        threading:
          $ref: '#/components/schemas/ConfigThreadingConfig'
        tls_config:
          $ref: '#/components/schemas/ConfigTLSConfig'
        to:
          type: string
      type: object
    ConfigHTTPClientConfig:
      properties:
        authorization:
          $ref: '#/components/schemas/ConfigAuthorization'
        basic_auth:
          $ref: '#/components/schemas/ConfigBasicAuth'
        bearer_token:
          type: string
        bearer_token_file:
          type: string
        enable_http2:
          type: boolean
        follow_redirects:
          type: boolean
        http_headers:
          $ref: '#/components/schemas/ConfigHeaders'
        no_proxy:
          type: string
        oauth2:
          $ref: '#/components/schemas/ConfigOAuth2'
        proxy_connect_header:
          $ref: '#/components/schemas/ConfigProxyHeader'
        proxy_from_environment:
          type: boolean
        proxy_url:
          $ref: '#/components/schemas/ConfigURL'
        tls_config:
          $ref: '#/components/schemas/ConfigTLSConfig'
      type: object
    ConfigHeaders:
      type: object
    ConfigHostPort:
      type: object
    ConfigIncidentioConfig:
      properties:
        alert_source_token:
          type: string
        alert_source_token_file:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        max_alerts:
          minimum: 0
          type: integer
        send_resolved:
          type: boolean
        timeout:
          $ref: '#/components/schemas/TimeDuration'
        url:
          $ref: '#/components/schemas/ConfigURLType2'
        url_file:
          type: string
      type: object
    ConfigJiraConfig:
      properties:
        api_type:
          type: string
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        custom_fields:
          additionalProperties: {}
          type: object
        description:
          $ref: '#/components/schemas/ConfigJiraFieldConfig'
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        issue_type:
          type: string
        labels:
          items:
            type: string
          type: array
        priority:
          type: string
        project:
          type: string
        reopen_duration:
          $ref: '#/components/schemas/ModelDuration'
        reopen_transition:
          type: string
        resolve_transition:
          type: string
        send_resolved:
          type: boolean
        summary:
          $ref: '#/components/schemas/ConfigJiraFieldConfig'
        wont_fix_resolution:
          type: string
      type: object
    ConfigJiraFieldConfig:
      properties:
        enable_update:
          nullable: true
          type: boolean
        template:
          type: string
      type: object
    ConfigMSTeamsConfig:
      properties:
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        send_resolved:
          type: boolean
        summary:
          type: string
        text:
          type: string
        title:
          type: string
        webhook_url:
          $ref: '#/components/schemas/ConfigSecretURL'
        webhook_url_file:
          type: string
      type: object
    ConfigMSTeamsV2Config:
      properties:
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        send_resolved:
          type: boolean
        text:
          type: string
        title:
          type: string
        webhook_url:
          $ref: '#/components/schemas/ConfigSecretURL'
        webhook_url_file:
          type: string
      type: object
    ConfigMattermostAttachment:
      properties:
        author_icon:
          type: string
        author_link:
          type: string
        author_name:
          type: string
        color:
          type: string
        fallback:
          type: string
        fields:
          items:
            $ref: '#/components/schemas/ConfigMattermostField'
          type: array
        footer:
          type: string
        footer_icon:
          type: string
        image_url:
          type: string
        pretext:
          type: string
        text:
          type: string
        thumb_url:
          type: string
        title:
          type: string
        title_link:
          type: string
      type: object
    ConfigMattermostConfig:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/ConfigMattermostAttachment'
          type: array
        channel:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        icon_emoji:
          type: string
        icon_url:
          type: string
        priority:
          $ref: '#/components/schemas/ConfigMattermostPriority'
        props:
          $ref: '#/components/schemas/ConfigMattermostProps'
        send_resolved:
          type: boolean
        text:
          type: string
        type:
          type: string
        username:
          type: string
        webhook_url:
          $ref: '#/components/schemas/ConfigSecretURL'
        webhook_url_file:
          type: string
      type: object
    ConfigMattermostField:
      properties:
        short:
          nullable: true
          type: boolean
        title:
          type: string
        value:
          type: string
      type: object
    ConfigMattermostPriority:
      properties:
        persistent_notifications:
          type: boolean
        priority:
          type: string
        requested_ack:
          type: boolean
      type: object
    ConfigMattermostProps:
      properties:
        card:
          type: string
      type: object
    ConfigOAuth2:
      properties:
        audience:
          type: string
        claims:
          additionalProperties: {}
          type: object
        client_certificate_key:
          type: string
        client_certificate_key_file:
          type: string
        client_certificate_key_id:
          type: string
        client_certificate_key_ref:
          type: string
        client_id:
          type: string
        client_secret:
          type: string
        client_secret_file:
          type: string
        client_secret_ref:
          type: string
        endpoint_params:
          additionalProperties:
            type: string
          type: object
        grant_type:
          type: string
        iss:
          type: string
        no_proxy:
          type: string
        proxy_connect_header:
          $ref: '#/components/schemas/ConfigProxyHeader'
        proxy_from_environment:
          type: boolean
        proxy_url:
          $ref: '#/components/schemas/ConfigURL'
        scopes:
          items:
            type: string
          type: array
        signature_algorithm:
          type: string
        token_url:
          type: string
      type: object
    ConfigOpsGenieConfig:
      properties:
        actions:
          type: string
        api_key:
          type: string
        api_key_file:
          type: string
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        description:
          type: string
        details:
          additionalProperties:
            type: string
          type: object
        entity:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        note:
          type: string
        priority:
          type: string
        responders:
          items:
            $ref: '#/components/schemas/ConfigOpsGenieConfigResponder'
          type: array
        send_resolved:
          type: boolean
        source:
          type: string
        tags:
          type: string
        update_alerts:
          type: boolean
      type: object
    ConfigOpsGenieConfigResponder:
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        username:
          type: string
      type: object
    ConfigPagerdutyConfig:
      properties:
        class:
          type: string
        client:
          type: string
        client_url:
          type: string
        component:
          type: string
        description:
          type: string
        details:
          additionalProperties: {}
          type: object
        group:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        images:
          items:
            $ref: '#/components/schemas/ConfigPagerdutyImage'
          type: array
        links:
          items:
            $ref: '#/components/schemas/ConfigPagerdutyLink'
          type: array
        routing_key:
          type: string
        routing_key_file:
          type: string
        send_resolved:
          type: boolean
        service_key:
          type: string
        service_key_file:
          type: string
        severity:
          type: string
        source:
          type: string
        timeout:
          $ref: '#/components/schemas/TimeDuration'
        url:
          $ref: '#/components/schemas/ConfigURLType2'
      type: object
    ConfigPagerdutyImage:
      properties:
        alt:
          type: string
        href:
          type: string
        src:
          type: string
      type: object
    ConfigPagerdutyLink:
      properties:
        href:
          type: string
        text:
          type: string
      type: object
    ConfigProxyHeader:
      additionalProperties:
        items:
          type: string
        type: array
      type: object
    ConfigPushoverConfig:
      properties:
        device:
          type: string
        expire:
          $ref: '#/components/schemas/ConfigDuration'
        html:
          type: boolean
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        monospace:
          type: boolean
        priority:
          type: string
        retry:
          $ref: '#/components/schemas/ConfigDuration'
        send_resolved:
          type: boolean
        sound:
          type: string
        title:
          type: string
        token:
          type: string
        token_file:
          type: string
        ttl:
          $ref: '#/components/schemas/ConfigDuration'
        url:
          type: string
        url_title:
          type: string
        user_key:
          type: string
        user_key_file:
          type: string
      type: object
    ConfigRocketchatAttachmentAction:
      properties:
        image_url:
          type: string
        is_webview:
          type: boolean
        msg:
          type: string
        msg_in_chat_window:
          type: boolean
        msg_processing_type:
          type: string
        text:
          type: string
        type:
          type: string
        url:
          type: string
        webview_height_ratio:
          type: string
      type: object
    ConfigRocketchatAttachmentField:
      properties:
        short:
          nullable: true
          type: boolean
        title:
          type: string
        value:
          type: string
      type: object
    ConfigRocketchatConfig:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/ConfigRocketchatAttachmentAction'
          type: array
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        channel:
          type: string
        color:
          type: string
        emoji:
          type: string
        fields:
          items:
            $ref: '#/components/schemas/ConfigRocketchatAttachmentField'
          type: array
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        icon_url:
          type: string
        image_url:
          type: string
        link_names:
          type: boolean
        send_resolved:
          type: boolean
        short_fields:
          type: boolean
        text:
          type: string
        thumb_url:
          type: string
        title:
          type: string
        title_link:
          type: string
        token:
          type: string
        token_file:
          type: string
        token_id:
          type: string
        token_id_file:
          type: string
      type: object
    ConfigSNSConfig:
      properties:
        api_url:
          type: string
        attributes:
          additionalProperties:
            type: string
          type: object
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        phone_number:
          type: string
        send_resolved:
          type: boolean
        sigv4:
          $ref: '#/components/schemas/Sigv4SigV4Config'
        subject:
          type: string
        target_arn:
          type: string
        topic_arn:
          type: string
      type: object
    ConfigSecretURL:
      type: object
    ConfigSlackAction:
      properties:
        confirm:
          $ref: '#/components/schemas/ConfigSlackConfirmationField'
        name:
          type: string
        style:
          type: string
        text:
          type: string
        type:
          type: string
        url:
          type: string
        value:
          type: string
      type: object
    ConfigSlackConfig:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/ConfigSlackAction'
          type: array
        api_url:
          $ref: '#/components/schemas/ConfigSecretURL'
        api_url_file:
          type: string
        app_token:
          type: string
        app_token_file:
          type: string
        app_url:
          $ref: '#/components/schemas/ConfigURLType2'
        callback_id:
          type: string
        channel:
          type: string
        color:
          type: string
        fallback:
          type: string
        fields:
          items:
            $ref: '#/components/schemas/ConfigSlackField'
          type: array
        footer:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        icon_emoji:
          type: string
        icon_url:
          type: string
        image_url:
          type: string
        link_names:
          type: boolean
        message_text:
          type: string
        mrkdwn_in:
          items:
            type: string
          type: array
        pretext:
          type: string
        send_resolved:
          type: boolean
        short_fields:
          type: boolean
        text:
          type: string
        thumb_url:
          type: string
        timeout:
          $ref: '#/components/schemas/TimeDuration'
        title:
          type: string
        title_link:
          type: string
        username:
          type: string
      type: object
    ConfigSlackConfirmationField:
      properties:
        dismiss_text:
          type: string
        ok_text:
          type: string
        text:
          type: string
        title:
          type: string
      type: object
    ConfigSlackField:
      properties:
        short:
          nullable: true
          type: boolean
        title:
          type: string
        value:
          type: string
      type: object
    ConfigTLSConfig:
      properties:
        ca:
          type: string
        ca_file:
          type: string
        ca_ref:
          type: string
        cert:
          type: string
        cert_file:
          type: string
        cert_ref:
          type: string
        insecure_skip_verify:
          type: boolean
        key:
          type: string
        key_file:
          type: string
        key_ref:
          type: string
        max_version:
          minimum: 0
          type: integer
        min_version:
          minimum: 0
          type: integer
        server_name:
          type: string
      type: object
    ConfigTelegramConfig:
      properties:
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        chat:
          format: int64
          type: integer
        chat_file:
          type: string
        disable_notifications:
          type: boolean
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        message_thread_id:
          type: integer
        parse_mode:
          type: string
        send_resolved:
          type: boolean
        token:
          type: string
        token_file:
          type: string
      type: object
    ConfigThreadingConfig:
      properties:
        enabled:
          type: boolean
        thread_by_date:
          type: string
      type: object
    ConfigURL:
      type: object
    ConfigURLType2:
      type: object
    ConfigVictorOpsConfig:
      properties:
        api_key:
          type: string
        api_key_file:
          type: string
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        custom_fields:
          additionalProperties:
            type: string
          type: object
        entity_display_name:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message_type:
          type: string
        monitoring_tool:
          type: string
        routing_key:
          type: string
        send_resolved:
          type: boolean
        state_message:
          type: string
      type: object
    ConfigWebexConfig:
      properties:
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        room_id:
          type: string
        send_resolved:
          type: boolean
      type: object
    ConfigWebhookConfig:
      properties:
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        max_alerts:
          minimum: 0
          type: integer
        send_resolved:
          type: boolean
        timeout:
          $ref: '#/components/schemas/TimeDuration'
        url:
          type: string
        url_file:
          type: string
      type: object
    ConfigWechatConfig:
      properties:
        agent_id:
          type: string
        api_secret:
          type: string
        api_secret_file:
          type: string
        api_url:
          $ref: '#/components/schemas/ConfigURLType2'
        corp_id:
          type: string
        http_config:
          $ref: '#/components/schemas/ConfigHTTPClientConfig'
        message:
          type: string
        message_type:
          type: string
        send_resolved:
          type: boolean
        to_party:
          type: string
        to_tag:
          type: string
        to_user:
          type: string
      type: object
    CoretypesKind:
      enum:
      - anonymous
      - organization
      - role
      - serviceaccount
      - user
      - notification-channel
      - route-policy
      - apdex-setting
      - auth-domain
      - session
      - cloud-integration
      - cloud-integration-service
      - integration
      - dashboard
      - public-dashboard
      - ingestion-key
      - ingestion-limit
      - pipeline
      - user-preference
      - org-preference
      - quick-filter
      - ttl-setting
      - rule
      - planned-maintenance
      - saved-view
      - trace-funnel
      - factor-password
      - factor-api-key
      - license
      - subscription
      - logs
      - traces
      - metrics
      - audit-logs
      - meter-metrics
      - logs-field
      - traces-field
      type: string
    CoretypesObject:
      properties:
        resource:
          $ref: '#/components/schemas/CoretypesResourceRef'
        selector:
          type: string
      required:
      - resource
      - selector
      type: object
    CoretypesObjectGroup:
      properties:
        resource:
          $ref: '#/components/schemas/CoretypesResourceRef'
        selectors:
          items:
            type: string
          type: array
      required:
      - resource
      - selectors
      type: object
    CoretypesResourceRef:
      properties:
        kind:
          $ref: '#/components/schemas/CoretypesKind'
        type:
          $ref: '#/components/schemas/CoretypesType'
      required:
      - type
      - kind
      type: object
    CoretypesType:
      enum:
      - user
      - serviceaccount
      - anonymous
      - role
      - organization
      - metaresource
      - telemetryresource
      type: string
    DashboardGridItem:
      properties:
        content:
          $ref: '#/components/schemas/CommonJSONRef'
        height:
          type: integer
        width:
          type: integer
        x:
          type: integer
        "y":
          type: integer
      type: object
    DashboardGridLayoutCollapse:
      properties:
        open:
          type: boolean
      type: object
    DashboardGridLayoutDisplay:
      properties:
        collapse:
          $ref: '#/components/schemas/DashboardGridLayoutCollapse'
        title:
          type: string
      type: object
    DashboardGridLayoutSpec:
      properties:
        display:
          $ref: '#/components/schemas/DashboardGridLayoutDisplay'
        items:
          items:
            $ref: '#/components/schemas/DashboardGridItem'
          nullable: true
          type: array
        repeatVariable:
          type: string
      type: object
    DashboardtypesAxes:
      properties:
        isLogScale:
          type: boolean
        softMax:
          nullable: true
          type: number
        softMin:
          nullable: true
          type: number
      type: object
    DashboardtypesBarChartPanelSpec:
      properties:
        axes:
          $ref: '#/components/schemas/DashboardtypesAxes'
        formatting:
          $ref: '#/components/schemas/DashboardtypesPanelFormatting'
        legend:
          $ref: '#/components/schemas/DashboardtypesLegend'
        thresholds:
          items:
            $ref: '#/components/schemas/DashboardtypesThresholdWithLabel'
          nullable: true
          type: array
        visualization:
          $ref: '#/components/schemas/DashboardtypesBarChartVisualization'
      type: object
    DashboardtypesBarChartVisualization:
      properties:
        fillSpans:
          type: boolean
        stackedBarChart:
          type: boolean
        timePreference:
          $ref: '#/components/schemas/DashboardtypesTimePreference'
      type: object
    DashboardtypesBasicVisualization:
      properties:
        timePreference:
          $ref: '#/components/schemas/DashboardtypesTimePreference'
      type: object
    DashboardtypesBuilderQuerySpec:
      discriminator:
        mapping:
          logs: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5LogAggregation'
          metrics: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5MetricAggregation'
          traces: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation'
        propertyName: signal
      oneOf:
      - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5LogAggregation'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5MetricAggregation'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation'
      type: object
    DashboardtypesComparisonOperator:
      enum:
      - above
      - below
      - above_or_equal
      - below_or_equal
      - equal
      - not_equal
      type: string
    DashboardtypesComparisonThreshold:
      properties:
        color:
          type: string
        format:
          $ref: '#/components/schemas/DashboardtypesThresholdFormat'
        operator:
          $ref: '#/components/schemas/DashboardtypesComparisonOperator'
        unit:
          type: string
        value:
          format: double
          type: number
      required:
      - value
      - color
      type: object
    DashboardtypesCustomVariableSpec:
      properties:
        customValue:
          type: string
      required:
      - customValue
      type: object
    DashboardtypesDashboard:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        data:
          $ref: '#/components/schemas/DashboardtypesStorableDashboardData'
        id:
          type: string
        locked:
          type: boolean
        org_id:
          type: string
        source:
          $ref: '#/components/schemas/DashboardtypesSource'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      type: object
    DashboardtypesDashboardPanelRef:
      properties:
        dashboardId:
          type: string
        dashboardName:
          type: string
        filterBy:
          items:
            type: string
          type: array
        groupBy:
          items:
            type: string
          type: array
        panelId:
          type: string
        panelName:
          type: string
      required:
      - dashboardId
      - dashboardName
      - panelId
      - panelName
      type: object
    DashboardtypesDashboardSpec:
      properties:
        display:
          $ref: '#/components/schemas/DashboardtypesDisplay'
        duration:
          type: string
        layouts:
          items:
            $ref: '#/components/schemas/DashboardtypesLayout'
          type: array
        links:
          items:
            $ref: '#/components/schemas/DashboardtypesLink'
          nullable: true
          type: array
        panels:
          additionalProperties:
            $ref: '#/components/schemas/DashboardtypesPanel'
          type: object
        refreshInterval:
          type: string
        variables:
          items:
            $ref: '#/components/schemas/DashboardtypesVariable'
          type: array
      required:
      - display
      - variables
      - panels
      - layouts
      type: object
    DashboardtypesDashboardView:
      properties:
        createdAt:
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/DashboardtypesDashboardViewData'
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - data
      - orgId
      type: object
    DashboardtypesDashboardViewData:
      properties:
        order:
          $ref: '#/components/schemas/DashboardtypesListOrder'
        query:
          type: string
        sort:
          $ref: '#/components/schemas/DashboardtypesListSort'
        version:
          type: string
      required:
      - version
      type: object
    DashboardtypesDisplay:
      properties:
        description:
          type: string
        name:
          type: string
      required:
      - name
      type: object
    DashboardtypesDynamicVariableSignal:
      enum:
      - traces
      - logs
      - metrics
      - all
      type: string
    DashboardtypesDynamicVariableSpec:
      properties:
        name:
          type: string
        signal:
          $ref: '#/components/schemas/DashboardtypesDynamicVariableSignal'
      required:
      - name
      - signal
      type: object
    DashboardtypesFillMode:
      enum:
      - solid
      - gradient
      - none
      type: string
    DashboardtypesGettableDashboardV2:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        id:
          type: string
        image:
          type: string
        locked:
          type: boolean
        name:
          type: string
        orgId:
          type: string
        schemaVersion:
          type: string
        source:
          $ref: '#/components/schemas/DashboardtypesSource'
        spec:
          $ref: '#/components/schemas/DashboardtypesDashboardSpec'
        tags:
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          nullable: true
          type: array
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - orgId
      - locked
      - source
      - schemaVersion
      - name
      - tags
      - spec
      type: object
    DashboardtypesGettablePublicDasbhboard:
      properties:
        defaultTimeRange:
          type: string
        publicPath:
          type: string
        timeRangeEnabled:
          type: boolean
      type: object
    DashboardtypesGettablePublicDashboardData:
      properties:
        dashboard:
          $ref: '#/components/schemas/DashboardtypesDashboard'
        publicDashboard:
          $ref: '#/components/schemas/DashboardtypesGettablePublicDasbhboard'
      type: object
    DashboardtypesGettablePublicDashboardDataV2:
      properties:
        dashboard:
          $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
        publicDashboard:
          $ref: '#/components/schemas/DashboardtypesGettablePublicDasbhboard'
      type: object
    DashboardtypesHistogramBuckets:
      properties:
        bucketCount:
          nullable: true
          type: number
        bucketWidth:
          nullable: true
          type: number
        mergeAllActiveQueries:
          type: boolean
      type: object
    DashboardtypesHistogramPanelSpec:
      properties:
        histogramBuckets:
          $ref: '#/components/schemas/DashboardtypesHistogramBuckets'
        legend:
          $ref: '#/components/schemas/DashboardtypesLegend'
      type: object
    DashboardtypesJSONPatchOperation:
      properties:
        from:
          description: Source JSON Pointer for move/copy ops; ignored for other ops.
          type: string
        op:
          $ref: '#/components/schemas/DashboardtypesPatchOp'
        path:
          description: JSON Pointer (RFC 6901) into the dashboard's postable shape
            — e.g. /spec/display/name, /spec/panels/<id>, /spec/panels/<id>/spec/queries/0,
            /tags/-.
          type: string
        value:
          description: 'Value to add/replace/test against. The expected type depends
            on the path. Common shapes (see referenced schemas for the exact field
            set): /spec/panels/<id> takes a DashboardtypesPanel; /spec/panels/<id>/spec/queries/N
            (or /-) takes a DashboardtypesQuery; /spec/variables/N takes a DashboardtypesVariable;
            /spec/layouts/N takes a DashboardtypesLayout; /tags/N (or /-) takes a
            TagtypesPostableTag; /spec/display/name and other leaf string fields take
            a string. Required for add/replace/test; ignored for remove/move/copy.'
      required:
      - op
      - path
      type: object
    DashboardtypesLayout:
      discriminator:
        mapping:
          Grid: '#/components/schemas/DashboardtypesLayoutEnvelopeGithubComPersesSpecGoDashboardGridLayoutSpec'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/DashboardtypesLayoutEnvelopeGithubComPersesSpecGoDashboardGridLayoutSpec'
      type: object
    DashboardtypesLayoutEnvelopeGithubComPersesSpecGoDashboardGridLayoutSpec:
      properties:
        kind:
          enum:
          - Grid
          type: string
        spec:
          $ref: '#/components/schemas/DashboardGridLayoutSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesLegend:
      properties:
        customColors:
          additionalProperties:
            type: string
          nullable: true
          type: object
        mode:
          $ref: '#/components/schemas/DashboardtypesLegendMode'
        position:
          $ref: '#/components/schemas/DashboardtypesLegendPosition'
      type: object
    DashboardtypesLegendMode:
      enum:
      - list
      type: string
    DashboardtypesLegendPosition:
      enum:
      - bottom
      - right
      type: string
    DashboardtypesLineInterpolation:
      enum:
      - linear
      - spline
      - step_after
      - step_before
      type: string
    DashboardtypesLineStyle:
      enum:
      - solid
      - dashed
      type: string
    DashboardtypesLink:
      properties:
        name:
          type: string
        renderVariables:
          type: boolean
        targetBlank:
          type: boolean
        tooltip:
          type: string
        url:
          type: string
      type: object
    DashboardtypesListOrder:
      enum:
      - asc
      - desc
      type: string
    DashboardtypesListPanelSpec:
      properties:
        selectFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
      type: object
    DashboardtypesListSort:
      enum:
      - updated_at
      - created_at
      - name
      type: string
    DashboardtypesListVariableSpec:
      properties:
        allowAllValue:
          type: boolean
        allowMultiple:
          type: boolean
        capturingRegexp:
          type: string
        customAllValue:
          type: string
        defaultValue:
          $ref: '#/components/schemas/DashboardtypesVariableDefaultValue'
        display:
          $ref: '#/components/schemas/DashboardtypesDisplay'
        name:
          minLength: 1
          type: string
        plugin:
          $ref: '#/components/schemas/DashboardtypesVariablePlugin'
        sort:
          $ref: '#/components/schemas/DashboardtypesListVariableSpecSort'
      required:
      - display
      - name
      type: object
    DashboardtypesListVariableSpecSort:
      enum:
      - none
      - alphabetical-asc
      - alphabetical-desc
      - numerical-asc
      - numerical-desc
      - alphabetical-ci-asc
      - alphabetical-ci-desc
      type: string
    DashboardtypesListableDashboardForUserV2:
      properties:
        dashboards:
          items:
            $ref: '#/components/schemas/DashboardtypesListedDashboardForUserV2'
          type: array
        reservedKeywords:
          items:
            type: string
          type: array
        tags:
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          type: array
        total:
          format: int64
          type: integer
      required:
      - dashboards
      - total
      - tags
      - reservedKeywords
      type: object
    DashboardtypesListableDashboardV2:
      properties:
        dashboards:
          items:
            $ref: '#/components/schemas/DashboardtypesListedDashboardV2'
          type: array
        reservedKeywords:
          items:
            type: string
          type: array
        tags:
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          type: array
        total:
          format: int64
          type: integer
      required:
      - dashboards
      - total
      - tags
      - reservedKeywords
      type: object
    DashboardtypesListableDashboardView:
      properties:
        views:
          items:
            $ref: '#/components/schemas/DashboardtypesDashboardView'
          type: array
      required:
      - views
      type: object
    DashboardtypesListedDashboardForUserV2:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        id:
          type: string
        image:
          type: string
        legacy:
          type: boolean
        locked:
          type: boolean
        name:
          type: string
        orgId:
          type: string
        pinned:
          type: boolean
        schemaVersion:
          type: string
        source:
          $ref: '#/components/schemas/DashboardtypesSource'
        spec:
          $ref: '#/components/schemas/DashboardtypesListedDashboardV2Spec'
        tags:
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          type: array
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - orgId
      - locked
      - source
      - schemaVersion
      - name
      - tags
      - spec
      - legacy
      - pinned
      type: object
    DashboardtypesListedDashboardV2:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        id:
          type: string
        image:
          type: string
        legacy:
          type: boolean
        locked:
          type: boolean
        name:
          type: string
        orgId:
          type: string
        schemaVersion:
          type: string
        source:
          $ref: '#/components/schemas/DashboardtypesSource'
        spec:
          $ref: '#/components/schemas/DashboardtypesListedDashboardV2Spec'
        tags:
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          type: array
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - orgId
      - locked
      - source
      - schemaVersion
      - name
      - tags
      - spec
      - legacy
      type: object
    DashboardtypesListedDashboardV2Spec:
      properties:
        display:
          $ref: '#/components/schemas/DashboardtypesDisplay'
      type: object
    DashboardtypesNumberPanelSpec:
      properties:
        formatting:
          $ref: '#/components/schemas/DashboardtypesPanelFormatting'
        thresholds:
          items:
            $ref: '#/components/schemas/DashboardtypesComparisonThreshold'
          nullable: true
          type: array
        visualization:
          $ref: '#/components/schemas/DashboardtypesBasicVisualization'
      type: object
    DashboardtypesPanel:
      properties:
        kind:
          $ref: '#/components/schemas/DashboardtypesPanelKind'
        spec:
          $ref: '#/components/schemas/DashboardtypesPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelFormatting:
      properties:
        decimalPrecision:
          $ref: '#/components/schemas/DashboardtypesPrecisionOption'
        unit:
          type: string
      type: object
    DashboardtypesPanelKind:
      enum:
      - Panel
      type: string
    DashboardtypesPanelPlugin:
      discriminator:
        mapping:
          signoz/BarChartPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBarChartPanelSpec'
          signoz/HistogramPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHistogramPanelSpec'
          signoz/ListPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesListPanelSpec'
          signoz/NumberPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesNumberPanelSpec'
          signoz/PieChartPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesPieChartPanelSpec'
          signoz/TablePanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTablePanelSpec'
          signoz/TimeSeriesPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTimeSeriesPanelSpec'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTimeSeriesPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBarChartPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesNumberPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesPieChartPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTablePanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHistogramPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesListPanelSpec'
      type: object
    DashboardtypesPanelPluginKind:
      enum:
      - signoz/TimeSeriesPanel
      - signoz/BarChartPanel
      - signoz/NumberPanel
      - signoz/PieChartPanel
      - signoz/TablePanel
      - signoz/HistogramPanel
      - signoz/ListPanel
      type: string
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBarChartPanelSpec:
      properties:
        kind:
          enum:
          - signoz/BarChartPanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesBarChartPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHistogramPanelSpec:
      properties:
        kind:
          enum:
          - signoz/HistogramPanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesHistogramPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesListPanelSpec:
      properties:
        kind:
          enum:
          - signoz/ListPanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesListPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesNumberPanelSpec:
      properties:
        kind:
          enum:
          - signoz/NumberPanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesNumberPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesPieChartPanelSpec:
      properties:
        kind:
          enum:
          - signoz/PieChartPanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesPieChartPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTablePanelSpec:
      properties:
        kind:
          enum:
          - signoz/TablePanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesTablePanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTimeSeriesPanelSpec:
      properties:
        kind:
          enum:
          - signoz/TimeSeriesPanel
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesTimeSeriesPanelSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelSpec:
      properties:
        display:
          $ref: '#/components/schemas/DashboardtypesDisplay'
        links:
          items:
            $ref: '#/components/schemas/DashboardtypesLink'
          nullable: true
          type: array
        plugin:
          $ref: '#/components/schemas/DashboardtypesPanelPlugin'
        queries:
          items:
            $ref: '#/components/schemas/DashboardtypesQuery'
          type: array
      required:
      - display
      - plugin
      - queries
      type: object
    DashboardtypesPatchOp:
      enum:
      - add
      - remove
      - replace
      - move
      - copy
      - test
      type: string
    DashboardtypesPatchableDashboardV2:
      items:
        $ref: '#/components/schemas/DashboardtypesJSONPatchOperation'
      nullable: true
      type: array
    DashboardtypesPieChartPanelSpec:
      properties:
        formatting:
          $ref: '#/components/schemas/DashboardtypesPanelFormatting'
        legend:
          $ref: '#/components/schemas/DashboardtypesLegend'
        visualization:
          $ref: '#/components/schemas/DashboardtypesBasicVisualization'
      type: object
    DashboardtypesPostableDashboardV2:
      properties:
        generateName:
          type: boolean
        image:
          type: string
        name:
          type: string
        schemaVersion:
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesDashboardSpec'
        tags:
          items:
            $ref: '#/components/schemas/TagtypesPostableTag'
          nullable: true
          type: array
      required:
      - schemaVersion
      - tags
      - spec
      type: object
    DashboardtypesPostableDashboardView:
      properties:
        data:
          $ref: '#/components/schemas/DashboardtypesDashboardViewData'
        name:
          type: string
      required:
      - name
      - data
      type: object
    DashboardtypesPostablePublicDashboard:
      properties:
        defaultTimeRange:
          type: string
        timeRangeEnabled:
          type: boolean
      type: object
    DashboardtypesPrecisionOption:
      enum:
      - "0"
      - "1"
      - "2"
      - "3"
      - "4"
      - full
      type: string
    DashboardtypesQuery:
      properties:
        kind:
          $ref: '#/components/schemas/Querybuildertypesv5RequestType'
        spec:
          $ref: '#/components/schemas/DashboardtypesQuerySpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPlugin:
      discriminator:
        mapping:
          signoz/BuilderQuery: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBuilderQuerySpec'
          signoz/ClickHouseSQL: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5ClickHouseQuery'
          signoz/CompositeQuery: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5CompositeQuery'
          signoz/Formula: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderFormula'
          signoz/PromQLQuery: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5PromQuery'
          signoz/TraceOperator: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderTraceOperator'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBuilderQuerySpec'
      - $ref: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5CompositeQuery'
      - $ref: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderFormula'
      - $ref: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5PromQuery'
      - $ref: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5ClickHouseQuery'
      - $ref: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderTraceOperator'
      type: object
    DashboardtypesQueryPluginKind:
      enum:
      - signoz/BuilderQuery
      - signoz/CompositeQuery
      - signoz/Formula
      - signoz/PromQLQuery
      - signoz/ClickHouseSQL
      - signoz/TraceOperator
      type: string
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBuilderQuerySpec:
      properties:
        kind:
          enum:
          - signoz/BuilderQuery
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesBuilderQuerySpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5ClickHouseQuery:
      properties:
        kind:
          enum:
          - signoz/ClickHouseSQL
          type: string
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5ClickHouseQuery'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5CompositeQuery:
      properties:
        kind:
          enum:
          - signoz/CompositeQuery
          type: string
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5CompositeQuery'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5PromQuery:
      properties:
        kind:
          enum:
          - signoz/PromQLQuery
          type: string
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5PromQuery'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderFormula:
      properties:
        kind:
          enum:
          - signoz/Formula
          type: string
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderFormula'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderTraceOperator:
      properties:
        kind:
          enum:
          - signoz/TraceOperator
          type: string
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderTraceOperator'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQuerySpec:
      properties:
        name:
          type: string
        plugin:
          $ref: '#/components/schemas/DashboardtypesQueryPlugin'
      required:
      - plugin
      type: object
    DashboardtypesQueryVariableSpec:
      properties:
        queryValue:
          type: string
      required:
      - queryValue
      type: object
    DashboardtypesSource:
      enum:
      - user
      - system
      - integration
      type: string
    DashboardtypesSpanGaps:
      properties:
        fillLessThan:
          description: The maximum gap size to connect when fillOnlyBelow is true.
            Gaps larger than this duration are left disconnected.
          type: string
        fillOnlyBelow:
          description: Controls whether lines connect across null values. When false
            (default), all gaps are connected. When true, only gaps smaller than fillLessThan
            are connected.
          type: boolean
      type: object
    DashboardtypesStorableDashboardData:
      additionalProperties: {}
      type: object
    DashboardtypesTableFormatting:
      properties:
        columnUnits:
          additionalProperties:
            type: string
          nullable: true
          type: object
        decimalPrecision:
          $ref: '#/components/schemas/DashboardtypesPrecisionOption'
      type: object
    DashboardtypesTablePanelSpec:
      properties:
        formatting:
          $ref: '#/components/schemas/DashboardtypesTableFormatting'
        thresholds:
          items:
            $ref: '#/components/schemas/DashboardtypesTableThreshold'
          nullable: true
          type: array
        visualization:
          $ref: '#/components/schemas/DashboardtypesBasicVisualization'
      type: object
    DashboardtypesTableThreshold:
      properties:
        color:
          type: string
        columnName:
          type: string
        format:
          $ref: '#/components/schemas/DashboardtypesThresholdFormat'
        operator:
          $ref: '#/components/schemas/DashboardtypesComparisonOperator'
        unit:
          type: string
        value:
          format: double
          type: number
      required:
      - value
      - color
      - columnName
      type: object
    DashboardtypesTextVariableSpec:
      properties:
        constant:
          type: boolean
        display:
          $ref: '#/components/schemas/DashboardtypesDisplay'
        name:
          minLength: 1
          type: string
        value:
          type: string
      required:
      - display
      - value
      - name
      type: object
    DashboardtypesThresholdFormat:
      enum:
      - text
      - background
      type: string
    DashboardtypesThresholdWithLabel:
      properties:
        color:
          type: string
        label:
          type: string
        unit:
          type: string
        value:
          format: double
          type: number
      required:
      - value
      - color
      type: object
    DashboardtypesTimePreference:
      enum:
      - global_time
      - last_5_min
      - last_15_min
      - last_30_min
      - last_1_hr
      - last_6_hr
      - last_1_day
      - last_3_days
      - last_1_week
      - last_1_month
      type: string
    DashboardtypesTimeSeriesChartAppearance:
      properties:
        fillMode:
          $ref: '#/components/schemas/DashboardtypesFillMode'
        lineInterpolation:
          $ref: '#/components/schemas/DashboardtypesLineInterpolation'
        lineStyle:
          $ref: '#/components/schemas/DashboardtypesLineStyle'
        showPoints:
          type: boolean
        spanGaps:
          $ref: '#/components/schemas/DashboardtypesSpanGaps'
      type: object
    DashboardtypesTimeSeriesPanelSpec:
      properties:
        axes:
          $ref: '#/components/schemas/DashboardtypesAxes'
        chartAppearance:
          $ref: '#/components/schemas/DashboardtypesTimeSeriesChartAppearance'
        formatting:
          $ref: '#/components/schemas/DashboardtypesPanelFormatting'
        legend:
          $ref: '#/components/schemas/DashboardtypesLegend'
        thresholds:
          items:
            $ref: '#/components/schemas/DashboardtypesThresholdWithLabel'
          nullable: true
          type: array
        visualization:
          $ref: '#/components/schemas/DashboardtypesTimeSeriesVisualization'
      type: object
    DashboardtypesTimeSeriesVisualization:
      properties:
        fillSpans:
          type: boolean
        timePreference:
          $ref: '#/components/schemas/DashboardtypesTimePreference'
      type: object
    DashboardtypesUpdatableDashboardV2:
      properties:
        image:
          type: string
        name:
          type: string
        schemaVersion:
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesDashboardSpec'
        tags:
          items:
            $ref: '#/components/schemas/TagtypesPostableTag'
          nullable: true
          type: array
      required:
      - schemaVersion
      - name
      - tags
      - spec
      type: object
    DashboardtypesUpdatablePublicDashboard:
      properties:
        defaultTimeRange:
          type: string
        timeRangeEnabled:
          type: boolean
      type: object
    DashboardtypesVariable:
      discriminator:
        mapping:
          ListVariable: '#/components/schemas/DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesListVariableSpec'
          TextVariable: '#/components/schemas/DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesTextVariableSpec'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesListVariableSpec'
      - $ref: '#/components/schemas/DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesTextVariableSpec'
      type: object
    DashboardtypesVariableDefaultValue:
      oneOf:
      - type: string
      - items:
          type: string
        type: array
    DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesListVariableSpec:
      properties:
        kind:
          enum:
          - ListVariable
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesListVariableSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesTextVariableSpec:
      properties:
        kind:
          enum:
          - TextVariable
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesTextVariableSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariablePlugin:
      discriminator:
        mapping:
          signoz/CustomVariable: '#/components/schemas/DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesCustomVariableSpec'
          signoz/DynamicVariable: '#/components/schemas/DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesDynamicVariableSpec'
          signoz/QueryVariable: '#/components/schemas/DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesQueryVariableSpec'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesDynamicVariableSpec'
      - $ref: '#/components/schemas/DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesQueryVariableSpec'
      - $ref: '#/components/schemas/DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesCustomVariableSpec'
      type: object
    DashboardtypesVariablePluginKind:
      enum:
      - signoz/DynamicVariable
      - signoz/QueryVariable
      - signoz/CustomVariable
      type: string
    DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesCustomVariableSpec:
      properties:
        kind:
          enum:
          - signoz/CustomVariable
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesCustomVariableSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesDynamicVariableSpec:
      properties:
        kind:
          enum:
          - signoz/DynamicVariable
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesDynamicVariableSpec'
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesQueryVariableSpec:
      properties:
        kind:
          enum:
          - signoz/QueryVariable
          type: string
        spec:
          $ref: '#/components/schemas/DashboardtypesQueryVariableSpec'
      required:
      - kind
      - spec
      type: object
    ErrorsJSON:
      properties:
        code:
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorsResponseerroradditional'
          type: array
        message:
          type: string
        retry:
          $ref: '#/components/schemas/ErrorsResponseretryjson'
        suggestions:
          items:
            type: string
          type: array
        type:
          type: string
        url:
          type: string
      required:
      - type
      - code
      - message
      - errors
      - suggestions
      type: object
    ErrorsResponseerroradditional:
      properties:
        message:
          type: string
        suggestions:
          items:
            type: string
          type: array
      required:
      - message
      - suggestions
      type: object
    ErrorsResponseretryjson:
      properties:
        delay:
          $ref: '#/components/schemas/TimeDuration'
      required:
      - delay
      type: object
    FactoryResponse:
      properties:
        healthy:
          type: boolean
        services:
          additionalProperties:
            items:
              type: string
            type: array
          nullable: true
          type: object
      type: object
    FeaturetypesGettableFeature:
      properties:
        defaultVariant:
          type: string
        description:
          type: string
        kind:
          type: string
        name:
          type: string
        resolvedValue: {}
        stage:
          type: string
        variants:
          additionalProperties: {}
          nullable: true
          type: object
      type: object
    GatewaytypesGettableCreatedIngestionKey:
      properties:
        id:
          type: string
        value:
          type: string
      required:
      - id
      - value
      type: object
    GatewaytypesGettableCreatedIngestionKeyLimit:
      properties:
        id:
          type: string
      required:
      - id
      type: object
    GatewaytypesGettableIngestionKeys:
      properties:
        _pagination:
          $ref: '#/components/schemas/GatewaytypesPagination'
        keys:
          items:
            $ref: '#/components/schemas/GatewaytypesIngestionKey'
          nullable: true
          type: array
      type: object
    GatewaytypesIngestionKey:
      properties:
        created_at:
          format: date-time
          type: string
        expires_at:
          format: date-time
          type: string
        id:
          type: string
        limits:
          items:
            $ref: '#/components/schemas/GatewaytypesLimit'
          nullable: true
          type: array
        name:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
        updated_at:
          format: date-time
          type: string
        value:
          type: string
        workspace_id:
          type: string
      type: object
    GatewaytypesLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        created_at:
          format: date-time
          type: string
        id:
          type: string
        key_id:
          type: string
        metric:
          $ref: '#/components/schemas/GatewaytypesLimitMetric'
        signal:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
        updated_at:
          format: date-time
          type: string
      type: object
    GatewaytypesLimitConfig:
      properties:
        day:
          $ref: '#/components/schemas/GatewaytypesLimitValue'
        second:
          $ref: '#/components/schemas/GatewaytypesLimitValue'
      type: object
    GatewaytypesLimitMetric:
      properties:
        day:
          $ref: '#/components/schemas/GatewaytypesLimitMetricValue'
        second:
          $ref: '#/components/schemas/GatewaytypesLimitMetricValue'
      type: object
    GatewaytypesLimitMetricValue:
      properties:
        count:
          format: int64
          type: integer
        size:
          format: int64
          type: integer
      type: object
    GatewaytypesLimitValue:
      properties:
        count:
          nullable: true
          type: integer
        size:
          nullable: true
          type: integer
      type: object
    GatewaytypesPagination:
      properties:
        page:
          type: integer
        pages:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
      type: object
    GatewaytypesPostableIngestionKey:
      properties:
        expires_at:
          format: date-time
          type: string
        name:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      required:
      - name
      type: object
    GatewaytypesPostableIngestionKeyLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        signal:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      type: object
    GatewaytypesUpdatableIngestionKeyLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        tags:
          items:
            type: string
          nullable: true
          type: array
      required:
      - config
      type: object
    GlobaltypesAPIKeyConfig:
      properties:
        enabled:
          type: boolean
      type: object
    GlobaltypesConfig:
      properties:
        ai_assistant_url:
          nullable: true
          type: string
        external_url:
          type: string
        identN:
          $ref: '#/components/schemas/GlobaltypesIdentNConfig'
        ingestion_url:
          type: string
        mcp_url:
          nullable: true
          type: string
      required:
      - external_url
      - ingestion_url
      - mcp_url
      - ai_assistant_url
      type: object
    GlobaltypesIdentNConfig:
      properties:
        apikey:
          $ref: '#/components/schemas/GlobaltypesAPIKeyConfig'
        impersonation:
          $ref: '#/components/schemas/GlobaltypesImpersonationConfig'
        tokenizer:
          $ref: '#/components/schemas/GlobaltypesTokenizerConfig'
      type: object
    GlobaltypesImpersonationConfig:
      properties:
        enabled:
          type: boolean
      type: object
    GlobaltypesTokenizerConfig:
      properties:
        enabled:
          type: boolean
      type: object
    InframonitoringtypesAssociatedComponent:
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/InframonitoringtypesCheckComponentType'
      required:
      - type
      - name
      type: object
    InframonitoringtypesAttributesComponentEntry:
      properties:
        associatedComponent:
          $ref: '#/components/schemas/InframonitoringtypesAssociatedComponent'
        attributes:
          items:
            type: string
          nullable: true
          type: array
      required:
      - attributes
      - associatedComponent
      type: object
    InframonitoringtypesCheckComponentType:
      enum:
      - receiver
      - processor
      type: string
    InframonitoringtypesCheckType:
      enum:
      - hosts
      - processes
      - pods
      - nodes
      - deployments
      - daemonsets
      - statefulsets
      - jobs
      - namespaces
      - clusters
      - volumes
      - kube_containers
      type: string
    InframonitoringtypesChecks:
      properties:
        missingDefaultEnabledMetrics:
          items:
            $ref: '#/components/schemas/InframonitoringtypesMissingMetricsComponentEntry'
          nullable: true
          type: array
        missingOptionalMetrics:
          items:
            $ref: '#/components/schemas/InframonitoringtypesMissingMetricsComponentEntry'
          nullable: true
          type: array
        missingRequiredAttributes:
          items:
            $ref: '#/components/schemas/InframonitoringtypesMissingAttributesComponentEntry'
          nullable: true
          type: array
        presentDefaultEnabledMetrics:
          items:
            $ref: '#/components/schemas/InframonitoringtypesMetricsComponentEntry'
          nullable: true
          type: array
        presentOptionalMetrics:
          items:
            $ref: '#/components/schemas/InframonitoringtypesMetricsComponentEntry'
          nullable: true
          type: array
        presentRequiredAttributes:
          items:
            $ref: '#/components/schemas/InframonitoringtypesAttributesComponentEntry'
          nullable: true
          type: array
        ready:
          type: boolean
        type:
          $ref: '#/components/schemas/InframonitoringtypesCheckType'
      required:
      - type
      - ready
      - presentDefaultEnabledMetrics
      - presentOptionalMetrics
      - presentRequiredAttributes
      - missingDefaultEnabledMetrics
      - missingOptionalMetrics
      - missingRequiredAttributes
      type: object
    InframonitoringtypesClusterFilter:
      properties:
        expression:
          type: string
        filterByNodeReadiness:
          items:
            $ref: '#/components/schemas/InframonitoringtypesNodeCondition'
          nullable: true
          type: array
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesClusterRecord:
      properties:
        clusterCPU:
          format: double
          type: number
        clusterCPUAllocatable:
          format: double
          type: number
        clusterMemory:
          format: double
          type: number
        clusterMemoryAllocatable:
          format: double
          type: number
        clusterName:
          type: string
        counts:
          properties:
            daemonSets:
              format: int64
              type: integer
            deployments:
              format: int64
              type: integer
            jobs:
              format: int64
              type: integer
            namespaces:
              format: int64
              type: integer
            nodes:
              format: int64
              type: integer
            statefulSets:
              format: int64
              type: integer
          required:
          - nodes
          - namespaces
          - deployments
          - daemonSets
          - jobs
          - statefulSets
          type: object
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        nodeCountsByReadiness:
          $ref: '#/components/schemas/InframonitoringtypesNodeCountsByReadiness'
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
      required:
      - clusterName
      - clusterCPU
      - clusterCPUAllocatable
      - clusterMemory
      - clusterMemoryAllocatable
      - nodeCountsByReadiness
      - podCountsByStatus
      - counts
      - meta
      type: object
    InframonitoringtypesClusters:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesClusterRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesContainerCountsByReady:
      properties:
        notReady:
          type: integer
        ready:
          type: integer
      required:
      - ready
      - notReady
      type: object
    InframonitoringtypesContainerCountsByStatus:
      properties:
        completed:
          type: integer
        containerCannotRun:
          type: integer
        containerCreating:
          type: integer
        crashLoopBackOff:
          type: integer
        createContainerConfigError:
          type: integer
        errImagePull:
          type: integer
        error:
          type: integer
        imagePullBackOff:
          type: integer
        oomKilled:
          type: integer
        running:
          type: integer
        terminated:
          type: integer
        unknown:
          type: integer
        waiting:
          type: integer
      required:
      - running
      - waiting
      - terminated
      - crashLoopBackOff
      - imagePullBackOff
      - errImagePull
      - createContainerConfigError
      - containerCreating
      - oomKilled
      - completed
      - error
      - containerCannotRun
      - unknown
      type: object
    InframonitoringtypesContainerFilter:
      properties:
        expression:
          type: string
        filterByContainerStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesContainerStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesContainerReady:
      enum:
      - ready
      - not_ready
      - no_data
      type: string
    InframonitoringtypesContainerRecord:
      properties:
        containerCountsByReady:
          $ref: '#/components/schemas/InframonitoringtypesContainerCountsByReady'
        containerCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesContainerCountsByStatus'
        containerName:
          type: string
        cpu:
          format: double
          type: number
        cpuLimitUtilization:
          format: double
          type: number
        cpuRequestUtilization:
          format: double
          type: number
        memory:
          format: double
          type: number
        memoryLimitUtilization:
          format: double
          type: number
        memoryRequestUtilization:
          format: double
          type: number
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        podUID:
          type: string
        ready:
          $ref: '#/components/schemas/InframonitoringtypesContainerReady'
        restarts:
          format: int64
          type: integer
        status:
          $ref: '#/components/schemas/InframonitoringtypesContainerStatus'
      required:
      - podUID
      - containerName
      - status
      - containerCountsByStatus
      - ready
      - containerCountsByReady
      - restarts
      - cpu
      - cpuRequestUtilization
      - cpuLimitUtilization
      - memory
      - memoryRequestUtilization
      - memoryLimitUtilization
      - meta
      type: object
    InframonitoringtypesContainerStatus:
      enum:
      - running
      - waiting
      - terminated
      - crashloopbackoff
      - imagepullbackoff
      - errimagepull
      - createcontainerconfigerror
      - containercreating
      - oomkilled
      - completed
      - error
      - containercannotrun
      - unknown
      - no_data
      type: string
    InframonitoringtypesContainers:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesContainerRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesDaemonSetFilter:
      properties:
        expression:
          type: string
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesDaemonSetRecord:
      properties:
        currentNodes:
          type: integer
        daemonSetCPU:
          format: double
          type: number
        daemonSetCPULimit:
          format: double
          type: number
        daemonSetCPURequest:
          format: double
          type: number
        daemonSetMemory:
          format: double
          type: number
        daemonSetMemoryLimit:
          format: double
          type: number
        daemonSetMemoryRequest:
          format: double
          type: number
        daemonSetName:
          type: string
        desiredNodes:
          type: integer
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        misscheduledNodes:
          type: integer
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
        readyNodes:
          type: integer
      required:
      - daemonSetName
      - daemonSetCPU
      - daemonSetCPURequest
      - daemonSetCPULimit
      - daemonSetMemory
      - daemonSetMemoryRequest
      - daemonSetMemoryLimit
      - desiredNodes
      - currentNodes
      - readyNodes
      - misscheduledNodes
      - podCountsByStatus
      - meta
      type: object
    InframonitoringtypesDaemonSets:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesDaemonSetRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesDeploymentFilter:
      properties:
        expression:
          type: string
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesDeploymentRecord:
      properties:
        availablePods:
          type: integer
        deploymentCPU:
          format: double
          type: number
        deploymentCPULimit:
          format: double
          type: number
        deploymentCPURequest:
          format: double
          type: number
        deploymentMemory:
          format: double
          type: number
        deploymentMemoryLimit:
          format: double
          type: number
        deploymentMemoryRequest:
          format: double
          type: number
        deploymentName:
          type: string
        desiredPods:
          type: integer
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
      required:
      - deploymentName
      - deploymentCPU
      - deploymentCPURequest
      - deploymentCPULimit
      - deploymentMemory
      - deploymentMemoryRequest
      - deploymentMemoryLimit
      - desiredPods
      - availablePods
      - podCountsByStatus
      - meta
      type: object
    InframonitoringtypesDeployments:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesDeploymentRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesHostFilter:
      properties:
        expression:
          type: string
        filterByStatus:
          $ref: '#/components/schemas/InframonitoringtypesHostStatus'
      type: object
    InframonitoringtypesHostRecord:
      properties:
        activeHostCount:
          type: integer
        cpu:
          format: double
          type: number
        diskUsage:
          format: double
          type: number
        hostName:
          type: string
        inactiveHostCount:
          type: integer
        load15:
          format: double
          type: number
        memory:
          format: double
          type: number
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        status:
          $ref: '#/components/schemas/InframonitoringtypesHostStatus'
        wait:
          format: double
          type: number
      required:
      - hostName
      - status
      - activeHostCount
      - inactiveHostCount
      - cpu
      - memory
      - wait
      - load15
      - diskUsage
      - meta
      type: object
    InframonitoringtypesHostStatus:
      enum:
      - active
      - inactive
      - ""
      type: string
    InframonitoringtypesHosts:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesHostRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesJobFilter:
      properties:
        expression:
          type: string
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesJobRecord:
      properties:
        activePods:
          type: integer
        desiredSuccessfulPods:
          type: integer
        failedPods:
          type: integer
        jobCPU:
          format: double
          type: number
        jobCPULimit:
          format: double
          type: number
        jobCPURequest:
          format: double
          type: number
        jobMemory:
          format: double
          type: number
        jobMemoryLimit:
          format: double
          type: number
        jobMemoryRequest:
          format: double
          type: number
        jobName:
          type: string
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
        successfulPods:
          type: integer
      required:
      - jobName
      - jobCPU
      - jobCPURequest
      - jobCPULimit
      - jobMemory
      - jobMemoryRequest
      - jobMemoryLimit
      - desiredSuccessfulPods
      - activePods
      - failedPods
      - successfulPods
      - podCountsByStatus
      - meta
      type: object
    InframonitoringtypesJobs:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesJobRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesMetricsComponentEntry:
      properties:
        associatedComponent:
          $ref: '#/components/schemas/InframonitoringtypesAssociatedComponent'
        metrics:
          items:
            type: string
          nullable: true
          type: array
      required:
      - metrics
      - associatedComponent
      type: object
    InframonitoringtypesMissingAttributesComponentEntry:
      properties:
        associatedComponent:
          $ref: '#/components/schemas/InframonitoringtypesAssociatedComponent'
        attributes:
          items:
            type: string
          nullable: true
          type: array
        documentationLink:
          type: string
        message:
          type: string
      required:
      - attributes
      - associatedComponent
      - message
      - documentationLink
      type: object
    InframonitoringtypesMissingMetricsComponentEntry:
      properties:
        associatedComponent:
          $ref: '#/components/schemas/InframonitoringtypesAssociatedComponent'
        documentationLink:
          type: string
        message:
          type: string
        metrics:
          items:
            type: string
          nullable: true
          type: array
      required:
      - metrics
      - associatedComponent
      - message
      - documentationLink
      type: object
    InframonitoringtypesNamespaceFilter:
      properties:
        expression:
          type: string
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesNamespaceRecord:
      properties:
        counts:
          properties:
            daemonSets:
              format: int64
              type: integer
            deployments:
              format: int64
              type: integer
            jobs:
              format: int64
              type: integer
            statefulSets:
              format: int64
              type: integer
          required:
          - deployments
          - daemonSets
          - jobs
          - statefulSets
          type: object
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        namespaceCPU:
          format: double
          type: number
        namespaceMemory:
          format: double
          type: number
        namespaceName:
          type: string
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
      required:
      - namespaceName
      - namespaceCPU
      - namespaceMemory
      - podCountsByStatus
      - counts
      - meta
      type: object
    InframonitoringtypesNamespaces:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesNamespaceRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesNodeCondition:
      enum:
      - ready
      - not_ready
      - no_data
      type: string
    InframonitoringtypesNodeCountsByReadiness:
      properties:
        notReady:
          type: integer
        ready:
          type: integer
      required:
      - ready
      - notReady
      type: object
    InframonitoringtypesNodeFilter:
      properties:
        expression:
          type: string
        filterByNodeReadiness:
          items:
            $ref: '#/components/schemas/InframonitoringtypesNodeCondition'
          nullable: true
          type: array
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesNodeRecord:
      properties:
        condition:
          $ref: '#/components/schemas/InframonitoringtypesNodeCondition'
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        nodeCPU:
          format: double
          type: number
        nodeCPUAllocatable:
          format: double
          type: number
        nodeCountsByReadiness:
          $ref: '#/components/schemas/InframonitoringtypesNodeCountsByReadiness'
        nodeMemory:
          format: double
          type: number
        nodeMemoryAllocatable:
          format: double
          type: number
        nodeName:
          type: string
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
      required:
      - nodeName
      - condition
      - nodeCountsByReadiness
      - podCountsByStatus
      - nodeCPU
      - nodeCPUAllocatable
      - nodeMemory
      - nodeMemoryAllocatable
      - meta
      type: object
    InframonitoringtypesNodes:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesNodeRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesPodCountsByStatus:
      properties:
        completed:
          type: integer
        containerCannotRun:
          type: integer
        containerCreating:
          type: integer
        crashLoopBackOff:
          type: integer
        createContainerConfigError:
          type: integer
        errImagePull:
          type: integer
        error:
          type: integer
        evicted:
          type: integer
        failed:
          type: integer
        imagePullBackOff:
          type: integer
        nodeAffinity:
          type: integer
        nodeLost:
          type: integer
        oomKilled:
          type: integer
        pending:
          type: integer
        running:
          type: integer
        shutdown:
          type: integer
        unexpectedAdmissionError:
          type: integer
        unknown:
          type: integer
      required:
      - pending
      - running
      - failed
      - unknown
      - crashLoopBackOff
      - imagePullBackOff
      - errImagePull
      - createContainerConfigError
      - containerCreating
      - oomKilled
      - completed
      - error
      - containerCannotRun
      - evicted
      - nodeAffinity
      - nodeLost
      - shutdown
      - unexpectedAdmissionError
      type: object
    InframonitoringtypesPodFilter:
      properties:
        expression:
          type: string
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesPodRecord:
      properties:
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        podAge:
          format: int64
          type: integer
        podCPU:
          format: double
          type: number
        podCPULimit:
          format: double
          type: number
        podCPURequest:
          format: double
          type: number
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
        podMemory:
          format: double
          type: number
        podMemoryLimit:
          format: double
          type: number
        podMemoryRequest:
          format: double
          type: number
        podRestarts:
          format: int64
          type: integer
        podStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodStatus'
        podUID:
          type: string
      required:
      - podUID
      - podCPU
      - podCPURequest
      - podCPULimit
      - podMemory
      - podMemoryRequest
      - podMemoryLimit
      - podStatus
      - podCountsByStatus
      - podRestarts
      - podAge
      - meta
      type: object
    InframonitoringtypesPodStatus:
      enum:
      - pending
      - running
      - failed
      - unknown
      - crashloopbackoff
      - imagepullbackoff
      - errimagepull
      - createcontainerconfigerror
      - containercreating
      - oomkilled
      - completed
      - error
      - containercannotrun
      - evicted
      - nodeaffinity
      - nodelost
      - shutdown
      - unexpectedadmissionerror
      - no_data
      type: string
    InframonitoringtypesPods:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesPostableClusters:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesClusterFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableContainers:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesContainerFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableDaemonSets:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesDaemonSetFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableDeployments:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesDeploymentFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableHosts:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesHostFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableJobs:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesJobFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableNamespaces:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesNamespaceFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableNodes:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesNodeFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostablePods:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesPodFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableStatefulSets:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/InframonitoringtypesStatefulSetFilter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesPostableVolumes:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    InframonitoringtypesResponseType:
      enum:
      - list
      - grouped_list
      type: string
    InframonitoringtypesStatefulSetFilter:
      properties:
        expression:
          type: string
        filterByPodStatus:
          items:
            $ref: '#/components/schemas/InframonitoringtypesPodStatus'
          nullable: true
          type: array
      type: object
    InframonitoringtypesStatefulSetRecord:
      properties:
        currentPods:
          type: integer
        desiredPods:
          type: integer
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        podCountsByStatus:
          $ref: '#/components/schemas/InframonitoringtypesPodCountsByStatus'
        statefulSetCPU:
          format: double
          type: number
        statefulSetCPULimit:
          format: double
          type: number
        statefulSetCPURequest:
          format: double
          type: number
        statefulSetMemory:
          format: double
          type: number
        statefulSetMemoryLimit:
          format: double
          type: number
        statefulSetMemoryRequest:
          format: double
          type: number
        statefulSetName:
          type: string
      required:
      - statefulSetName
      - statefulSetCPU
      - statefulSetCPURequest
      - statefulSetCPULimit
      - statefulSetMemory
      - statefulSetMemoryRequest
      - statefulSetMemoryLimit
      - desiredPods
      - currentPods
      - podCountsByStatus
      - meta
      type: object
    InframonitoringtypesStatefulSets:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesStatefulSetRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    InframonitoringtypesVolumeRecord:
      properties:
        meta:
          additionalProperties:
            type: string
          nullable: true
          type: object
        persistentVolumeClaimName:
          type: string
        volumeAvailable:
          format: double
          type: number
        volumeCapacity:
          format: double
          type: number
        volumeInodes:
          format: double
          type: number
        volumeInodesFree:
          format: double
          type: number
        volumeInodesUsed:
          format: double
          type: number
        volumeUsage:
          format: double
          type: number
      required:
      - persistentVolumeClaimName
      - volumeAvailable
      - volumeCapacity
      - volumeUsage
      - volumeInodes
      - volumeInodesFree
      - volumeInodesUsed
      - meta
      type: object
    InframonitoringtypesVolumes:
      properties:
        endTimeBeforeRetention:
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/InframonitoringtypesVolumeRecord'
          type: array
        total:
          type: integer
        type:
          $ref: '#/components/schemas/InframonitoringtypesResponseType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      required:
      - type
      - records
      - total
      - endTimeBeforeRetention
      type: object
    LlmpricingruletypesGettablePricingRules:
      properties:
        items:
          items:
            $ref: '#/components/schemas/LlmpricingruletypesLLMPricingRule'
          nullable: true
          type: array
        limit:
          type: integer
        offset:
          type: integer
        total:
          type: integer
      required:
      - items
      - total
      - offset
      - limit
      type: object
    LlmpricingruletypesGettableUnmappedModels:
      properties:
        items:
          items:
            $ref: '#/components/schemas/LlmpricingruletypesUnmappedModel'
          nullable: true
          type: array
      required:
      - items
      type: object
    LlmpricingruletypesLLMPricingCacheCosts:
      properties:
        mode:
          $ref: '#/components/schemas/LlmpricingruletypesLLMPricingRuleCacheMode'
        read:
          format: double
          type: number
        write:
          format: double
          type: number
      required:
      - mode
      type: object
    LlmpricingruletypesLLMPricingRule:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        enabled:
          type: boolean
        id:
          type: string
        isOverride:
          type: boolean
        modelName:
          type: string
        modelPattern:
          $ref: '#/components/schemas/LlmpricingruletypesStringSlice'
        orgId:
          type: string
        pricing:
          $ref: '#/components/schemas/LlmpricingruletypesLLMRulePricing'
        provider:
          type: string
        sourceId:
          type: string
        syncedAt:
          format: date-time
          nullable: true
          type: string
        unit:
          $ref: '#/components/schemas/LlmpricingruletypesLLMPricingRuleUnit'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - orgId
      - modelName
      - provider
      - modelPattern
      - unit
      - pricing
      - isOverride
      - enabled
      type: object
    LlmpricingruletypesLLMPricingRuleCacheMode:
      enum:
      - subtract
      - additive
      - unknown
      type: string
    LlmpricingruletypesLLMPricingRuleUnit:
      enum:
      - per_million_tokens
      type: string
    LlmpricingruletypesLLMRulePricing:
      properties:
        cache:
          $ref: '#/components/schemas/LlmpricingruletypesLLMPricingCacheCosts'
        input:
          format: double
          type: number
        output:
          format: double
          type: number
      required:
      - input
      - output
      type: object
    LlmpricingruletypesStringSlice:
      items:
        type: string
      nullable: true
      type: array
    LlmpricingruletypesUnmappedModel:
      properties:
        modelName:
          type: string
        provider:
          type: string
        spanCount:
          minimum: 0
          type: integer
      required:
      - modelName
      - spanCount
      type: object
    LlmpricingruletypesUpdatableLLMPricingRule:
      properties:
        enabled:
          type: boolean
        id:
          nullable: true
          type: string
        isOverride:
          nullable: true
          type: boolean
        modelName:
          type: string
        modelPattern:
          items:
            type: string
          nullable: true
          type: array
        pricing:
          $ref: '#/components/schemas/LlmpricingruletypesLLMRulePricing'
        provider:
          type: string
        sourceId:
          nullable: true
          type: string
        unit:
          $ref: '#/components/schemas/LlmpricingruletypesLLMPricingRuleUnit'
      required:
      - modelName
      - provider
      - modelPattern
      - unit
      - pricing
      - enabled
      type: object
    LlmpricingruletypesUpdatableLLMPricingRules:
      properties:
        rules:
          items:
            $ref: '#/components/schemas/LlmpricingruletypesUpdatableLLMPricingRule'
          nullable: true
          type: array
      required:
      - rules
      type: object
    MetricreductionruletypesAffectedAsset:
      properties:
        id:
          type: string
        impactedLabels:
          items:
            type: string
          nullable: true
          type: array
        name:
          type: string
        type:
          $ref: '#/components/schemas/MetricreductionruletypesAssetType'
        widget:
          $ref: '#/components/schemas/MetricreductionruletypesAffectedWidget'
      required:
      - type
      - id
      - name
      - impactedLabels
      type: object
    MetricreductionruletypesAffectedWidget:
      properties:
        id:
          type: string
        name:
          type: string
      required:
      - id
      - name
      type: object
    MetricreductionruletypesAssetType:
      enum:
      - dashboard
      - alert_rule
      type: string
    MetricreductionruletypesGettableReductionRule:
      properties:
        active:
          type: boolean
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        effectiveFrom:
          format: date-time
          type: string
        id:
          type: string
        ingestedSamples:
          minimum: 0
          type: integer
        ingestedSeries:
          minimum: 0
          type: integer
        labels:
          items:
            type: string
          nullable: true
          type: array
        matchType:
          $ref: '#/components/schemas/MetricreductionruletypesMatchType'
        metricName:
          type: string
        retainedSamples:
          minimum: 0
          type: integer
        retainedSeries:
          minimum: 0
          type: integer
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - metricName
      - matchType
      - labels
      - effectiveFrom
      - active
      - ingestedSeries
      - retainedSeries
      - ingestedSamples
      - retainedSamples
      type: object
    MetricreductionruletypesGettableReductionRulePreview:
      properties:
        affectedAssets:
          items:
            $ref: '#/components/schemas/MetricreductionruletypesAffectedAsset'
          nullable: true
          type: array
        currentRetainedSeries:
          minimum: 0
          type: integer
        droppedLabels:
          items:
            type: string
          nullable: true
          type: array
        effectiveFrom:
          format: date-time
          type: string
        ingestedSeries:
          minimum: 0
          type: integer
        reductionPercent:
          format: double
          type: number
        retainedSeries:
          minimum: 0
          type: integer
      required:
      - ingestedSeries
      - currentRetainedSeries
      - retainedSeries
      - reductionPercent
      - droppedLabels
      - affectedAssets
      - effectiveFrom
      type: object
    MetricreductionruletypesGettableReductionRuleStats:
      properties:
        estimatedMonthlySavingsUsd:
          format: double
          type: number
        ingestedSamples:
          minimum: 0
          type: integer
        ingestedSeries:
          minimum: 0
          type: integer
        retainedSamples:
          minimum: 0
          type: integer
        retainedSeries:
          minimum: 0
          type: integer
      required:
      - ingestedSeries
      - retainedSeries
      - ingestedSamples
      - retainedSamples
      - estimatedMonthlySavingsUsd
      type: object
    MetricreductionruletypesGettableReductionRules:
      properties:
        rules:
          items:
            $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRule'
          nullable: true
          type: array
        total:
          type: integer
      required:
      - rules
      - total
      type: object
    MetricreductionruletypesMatchType:
      enum:
      - drop
      - keep
      type: string
    MetricreductionruletypesOrder:
      enum:
      - asc
      - desc
      type: string
    MetricreductionruletypesPostableReductionRule:
      properties:
        labels:
          items:
            type: string
          nullable: true
          type: array
        matchType:
          $ref: '#/components/schemas/MetricreductionruletypesMatchType'
        metricName:
          type: string
      required:
      - metricName
      - matchType
      - labels
      type: object
    MetricreductionruletypesPostableReductionRulePreview:
      properties:
        labels:
          items:
            type: string
          nullable: true
          type: array
        lookbackMs:
          format: int64
          type: integer
        matchType:
          $ref: '#/components/schemas/MetricreductionruletypesMatchType'
        metricName:
          type: string
      required:
      - metricName
      - matchType
      - labels
      type: object
    MetricreductionruletypesReductionRuleOrderBy:
      enum:
      - metric
      - ingested_volume
      - reduced_volume
      - last_updated
      type: string
    MetricreductionruletypesUpdatableReductionRule:
      properties:
        labels:
          items:
            type: string
          nullable: true
          type: array
        matchType:
          $ref: '#/components/schemas/MetricreductionruletypesMatchType'
      required:
      - matchType
      - labels
      type: object
    MetricsexplorertypesInspectMetricsRequest:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        metricName:
          type: string
        start:
          format: int64
          type: integer
      required:
      - metricName
      - start
      - end
      type: object
    MetricsexplorertypesInspectMetricsResponse:
      properties:
        series:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          nullable: true
          type: array
      required:
      - series
      type: object
    MetricsexplorertypesListMetric:
      properties:
        description:
          type: string
        isMonotonic:
          type: boolean
        metricName:
          type: string
        temporality:
          $ref: '#/components/schemas/MetrictypesTemporality'
        type:
          $ref: '#/components/schemas/MetrictypesType'
        unit:
          type: string
      required:
      - metricName
      - description
      - type
      - unit
      - temporality
      - isMonotonic
      type: object
    MetricsexplorertypesListMetricsResponse:
      properties:
        metrics:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesListMetric'
          nullable: true
          type: array
      required:
      - metrics
      type: object
    MetricsexplorertypesMetricAlert:
      properties:
        alertId:
          type: string
        alertName:
          type: string
      required:
      - alertName
      - alertId
      type: object
    MetricsexplorertypesMetricAlertsResponse:
      properties:
        alerts:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesMetricAlert'
          nullable: true
          type: array
      required:
      - alerts
      type: object
    MetricsexplorertypesMetricAttribute:
      properties:
        key:
          type: string
        valueCount:
          minimum: 0
          type: integer
        values:
          items:
            type: string
          nullable: true
          type: array
      required:
      - key
      - values
      - valueCount
      type: object
    MetricsexplorertypesMetricAttributesResponse:
      properties:
        attributes:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesMetricAttribute'
          nullable: true
          type: array
        totalKeys:
          format: int64
          type: integer
      required:
      - attributes
      - totalKeys
      type: object
    MetricsexplorertypesMetricDashboard:
      properties:
        dashboardId:
          type: string
        dashboardName:
          type: string
        widgetId:
          type: string
        widgetName:
          type: string
      required:
      - dashboardName
      - dashboardId
      - widgetId
      - widgetName
      type: object
    MetricsexplorertypesMetricDashboardPanelsResponse:
      properties:
        dashboards:
          items:
            $ref: '#/components/schemas/DashboardtypesDashboardPanelRef'
          nullable: true
          type: array
      required:
      - dashboards
      type: object
    MetricsexplorertypesMetricDashboardsResponse:
      properties:
        dashboards:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesMetricDashboard'
          nullable: true
          type: array
      required:
      - dashboards
      type: object
    MetricsexplorertypesMetricHighlightsResponse:
      properties:
        activeTimeSeries:
          minimum: 0
          type: integer
        dataPoints:
          minimum: 0
          type: integer
        lastReceived:
          minimum: 0
          type: integer
        totalTimeSeries:
          minimum: 0
          type: integer
      required:
      - dataPoints
      - lastReceived
      - totalTimeSeries
      - activeTimeSeries
      type: object
    MetricsexplorertypesMetricMetadata:
      properties:
        description:
          type: string
        isMonotonic:
          type: boolean
        temporality:
          $ref: '#/components/schemas/MetrictypesTemporality'
        type:
          $ref: '#/components/schemas/MetrictypesType'
        unit:
          type: string
      required:
      - description
      - type
      - unit
      - temporality
      - isMonotonic
      type: object
    MetricsexplorertypesMetricsOnboardingResponse:
      properties:
        hasMetrics:
          type: boolean
      required:
      - hasMetrics
      type: object
    MetricsexplorertypesStat:
      properties:
        description:
          type: string
        metricName:
          type: string
        samples:
          minimum: 0
          type: integer
        timeseries:
          minimum: 0
          type: integer
        type:
          $ref: '#/components/schemas/MetrictypesType'
        unit:
          type: string
      required:
      - metricName
      - description
      - type
      - unit
      - timeseries
      - samples
      type: object
    MetricsexplorertypesStatsRequest:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        limit:
          type: integer
        offset:
          type: integer
        orderBy:
          $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    MetricsexplorertypesStatsResponse:
      properties:
        metrics:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesStat'
          nullable: true
          type: array
        total:
          minimum: 0
          type: integer
      required:
      - metrics
      - total
      type: object
    MetricsexplorertypesTreemapEntry:
      properties:
        metricName:
          type: string
        percentage:
          format: double
          type: number
        totalValue:
          minimum: 0
          type: integer
      required:
      - metricName
      - percentage
      - totalValue
      type: object
    MetricsexplorertypesTreemapMode:
      enum:
      - timeseries
      - samples
      type: string
    MetricsexplorertypesTreemapRequest:
      properties:
        end:
          format: int64
          type: integer
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        limit:
          type: integer
        mode:
          $ref: '#/components/schemas/MetricsexplorertypesTreemapMode'
        start:
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      - mode
      type: object
    MetricsexplorertypesTreemapResponse:
      properties:
        samples:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesTreemapEntry'
          nullable: true
          type: array
        timeseries:
          items:
            $ref: '#/components/schemas/MetricsexplorertypesTreemapEntry'
          nullable: true
          type: array
      required:
      - timeseries
      - samples
      type: object
    MetricsexplorertypesUpdateMetricMetadataRequest:
      properties:
        description:
          type: string
        isMonotonic:
          type: boolean
        metricName:
          type: string
        temporality:
          $ref: '#/components/schemas/MetrictypesTemporality'
        type:
          $ref: '#/components/schemas/MetrictypesType'
        unit:
          type: string
      required:
      - metricName
      - type
      - description
      - unit
      - temporality
      - isMonotonic
      type: object
    MetrictypesComparisonSpaceAggregationParam:
      properties:
        operator:
          type: string
        threshold:
          format: double
          type: number
      required:
      - operator
      - threshold
      type: object
    MetrictypesSpaceAggregation:
      enum:
      - sum
      - avg
      - min
      - max
      - count
      - p50
      - p75
      - p90
      - p95
      - p99
      type: string
    MetrictypesTemporality:
      enum:
      - delta
      - cumulative
      - unspecified
      - ""
      type: string
    MetrictypesTimeAggregation:
      enum:
      - latest
      - sum
      - avg
      - min
      - max
      - count
      - count_distinct
      - rate
      - increase
      - ""
      type: string
    MetrictypesType:
      enum:
      - gauge
      - sum
      - histogram
      - summary
      - exponentialhistogram
      type: string
    ModelDuration:
      format: int64
      type: integer
    ModelLabelSet:
      additionalProperties:
        type: string
      type: object
    PreferencetypesPreference:
      properties:
        allowedScopes:
          items:
            type: string
          nullable: true
          type: array
        allowedValues:
          items:
            type: string
          nullable: true
          type: array
        defaultValue:
          $ref: '#/components/schemas/PreferencetypesValue'
        description:
          type: string
        name:
          type: string
        value:
          $ref: '#/components/schemas/PreferencetypesValue'
        valueType:
          type: string
      type: object
    PreferencetypesUpdatablePreference:
      properties:
        value: {}
      type: object
    PreferencetypesValue:
      type: object
    PromotetypesPromotePath:
      properties:
        indexes:
          items:
            $ref: '#/components/schemas/PromotetypesWrappedIndex'
          type: array
        path:
          type: string
        promote:
          type: boolean
      type: object
    PromotetypesWrappedIndex:
      properties:
        fieldDataType:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
        granularity:
          type: integer
        type:
          type: string
      type: object
    Querybuildertypesv5AggregationBucket:
      properties:
        alias:
          type: string
        anomalyScores:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
        index:
          type: integer
        lowerBoundSeries:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
        meta:
          properties:
            unit:
              type: string
          type: object
        predictedSeries:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
        series:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          nullable: true
          type: array
        upperBoundSeries:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
      type: object
    Querybuildertypesv5Bucket:
      properties:
        step:
          format: double
          type: number
      type: object
    Querybuildertypesv5BuilderQuerySpec:
      discriminator:
        mapping:
          logs: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5LogAggregation'
          metrics: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5MetricAggregation'
          traces: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation'
        propertyName: signal
      oneOf:
      - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5LogAggregation'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5MetricAggregation'
      type: object
    Querybuildertypesv5ClickHouseQuery:
      properties:
        disabled:
          type: boolean
        legend:
          type: string
        name:
          type: string
        query:
          type: string
      type: object
    Querybuildertypesv5ColumnDescriptor:
      properties:
        aggregationIndex:
          format: int64
          type: integer
        columnType:
          $ref: '#/components/schemas/Querybuildertypesv5ColumnType'
        description:
          type: string
        fieldContext:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
        fieldDataType:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
        meta:
          properties:
            unit:
              type: string
          type: object
        name:
          type: string
        queryName:
          type: string
        signal:
          $ref: '#/components/schemas/TelemetrytypesSignal'
        unit:
          type: string
      required:
      - name
      type: object
    Querybuildertypesv5ColumnType:
      enum:
      - group
      - aggregation
      type: string
    Querybuildertypesv5CompositeQuery:
      description: Composite query containing one or more query envelopes. Each query
        envelope specifies its type and corresponding spec.
      properties:
        queries:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelope'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5ExecStats:
      description: Execution statistics for the query, including rows scanned, bytes
        scanned, and duration.
      properties:
        bytesScanned:
          minimum: 0
          type: integer
        durationMs:
          minimum: 0
          type: integer
        rowsScanned:
          minimum: 0
          type: integer
        stepIntervals:
          additionalProperties:
            minimum: 0
            type: integer
          type: object
      type: object
    Querybuildertypesv5Filter:
      properties:
        expression:
          type: string
      type: object
    Querybuildertypesv5FormatOptions:
      properties:
        fillGaps:
          type: boolean
        formatTableResultForUI:
          type: boolean
      type: object
    Querybuildertypesv5Function:
      properties:
        args:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5FunctionArg'
          nullable: true
          type: array
        name:
          $ref: '#/components/schemas/Querybuildertypesv5FunctionName'
      type: object
    Querybuildertypesv5FunctionArg:
      properties:
        name:
          type: string
        value:
          oneOf:
          - type: number
          - type: string
      type: object
    Querybuildertypesv5FunctionName:
      enum:
      - cutoffmin
      - cutoffmax
      - clampmin
      - clampmax
      - absolute
      - runningdiff
      - log2
      - log10
      - cumulativesum
      - ewma3
      - ewma5
      - ewma7
      - median3
      - median5
      - median7
      - timeshift
      - anomaly
      - fillzero
      type: string
    Querybuildertypesv5GroupByKey:
      properties:
        description:
          type: string
        fieldContext:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
        fieldDataType:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
        name:
          type: string
        signal:
          $ref: '#/components/schemas/TelemetrytypesSignal'
        unit:
          type: string
      required:
      - name
      type: object
    Querybuildertypesv5Having:
      properties:
        expression:
          type: string
      type: object
    Querybuildertypesv5Label:
      properties:
        key:
          $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
        value:
          oneOf:
          - type: string
          - type: number
          - type: boolean
      type: object
    Querybuildertypesv5LimitBy:
      properties:
        keys:
          items:
            type: string
          nullable: true
          type: array
        value:
          type: string
      type: object
    Querybuildertypesv5LogAggregation:
      properties:
        alias:
          type: string
        expression:
          type: string
      type: object
    Querybuildertypesv5MetricAggregation:
      properties:
        comparisonSpaceAggregationParam:
          $ref: '#/components/schemas/MetrictypesComparisonSpaceAggregationParam'
        metricName:
          type: string
        reduceTo:
          $ref: '#/components/schemas/Querybuildertypesv5ReduceTo'
        spaceAggregation:
          $ref: '#/components/schemas/MetrictypesSpaceAggregation'
        temporality:
          $ref: '#/components/schemas/MetrictypesTemporality'
        timeAggregation:
          $ref: '#/components/schemas/MetrictypesTimeAggregation'
      type: object
    Querybuildertypesv5OrderBy:
      properties:
        direction:
          $ref: '#/components/schemas/Querybuildertypesv5OrderDirection'
        key:
          $ref: '#/components/schemas/Querybuildertypesv5OrderByKey'
      type: object
    Querybuildertypesv5OrderByKey:
      properties:
        description:
          type: string
        fieldContext:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
        fieldDataType:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
        name:
          type: string
        signal:
          $ref: '#/components/schemas/TelemetrytypesSignal'
        unit:
          type: string
      required:
      - name
      type: object
    Querybuildertypesv5OrderDirection:
      enum:
      - asc
      - desc
      type: string
    Querybuildertypesv5PreviewStatement:
      properties:
        db.statement.args:
          items: {}
          type: array
        db.statement.query:
          type: string
        estimate:
          items:
            $ref: '#/components/schemas/TelemetrystoretypesEstimateEntry'
          type: array
        granules:
          $ref: '#/components/schemas/TelemetrystoretypesGranules'
      required:
      - db.statement.query
      - db.statement.args
      - estimate
      - granules
      type: object
    Querybuildertypesv5PromQuery:
      properties:
        disabled:
          type: boolean
        legend:
          type: string
        name:
          type: string
        query:
          type: string
        stats:
          type: boolean
        step:
          $ref: '#/components/schemas/Querybuildertypesv5Step'
      type: object
    Querybuildertypesv5QueryBuilderFormula:
      properties:
        disabled:
          type: boolean
        expression:
          type: string
        functions:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        having:
          $ref: '#/components/schemas/Querybuildertypesv5Having'
        legend:
          type: string
        limit:
          type: integer
        name:
          type: string
        order:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5LogAggregation:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5LogAggregation'
          nullable: true
          type: array
        cursor:
          type: string
        disabled:
          type: boolean
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        functions:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          $ref: '#/components/schemas/Querybuildertypesv5Having'
        legend:
          type: string
        limit:
          type: integer
        limitBy:
          $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
        name:
          type: string
        offset:
          type: integer
        order:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          enum:
          - logs
          type: string
        source:
          $ref: '#/components/schemas/TelemetrytypesSource'
        stepInterval:
          $ref: '#/components/schemas/Querybuildertypesv5Step'
      required:
      - signal
      type: object
    Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5MetricAggregation:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5MetricAggregation'
          nullable: true
          type: array
        cursor:
          type: string
        disabled:
          type: boolean
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        functions:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          $ref: '#/components/schemas/Querybuildertypesv5Having'
        legend:
          type: string
        limit:
          type: integer
        limitBy:
          $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
        name:
          type: string
        offset:
          type: integer
        order:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          enum:
          - metrics
          type: string
        source:
          $ref: '#/components/schemas/TelemetrytypesSource'
        stepInterval:
          $ref: '#/components/schemas/Querybuildertypesv5Step'
      required:
      - signal
      type: object
    Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TraceAggregation'
          nullable: true
          type: array
        cursor:
          type: string
        disabled:
          type: boolean
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        functions:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          $ref: '#/components/schemas/Querybuildertypesv5Having'
        legend:
          type: string
        limit:
          type: integer
        limitBy:
          $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
        name:
          type: string
        offset:
          type: integer
        order:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          enum:
          - traces
          type: string
        source:
          $ref: '#/components/schemas/TelemetrytypesSource'
        stepInterval:
          $ref: '#/components/schemas/Querybuildertypesv5Step'
      required:
      - signal
      type: object
    Querybuildertypesv5QueryBuilderTraceOperator:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TraceAggregation'
          nullable: true
          type: array
        cursor:
          type: string
        disabled:
          type: boolean
        expression:
          type: string
        filter:
          $ref: '#/components/schemas/Querybuildertypesv5Filter'
        functions:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          $ref: '#/components/schemas/Querybuildertypesv5Having'
        legend:
          type: string
        limit:
          type: integer
        name:
          type: string
        offset:
          type: integer
        order:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        returnSpansFrom:
          type: string
        selectFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        stepInterval:
          $ref: '#/components/schemas/Querybuildertypesv5Step'
      type: object
    Querybuildertypesv5QueryData:
      oneOf:
      - $ref: '#/components/schemas/Querybuildertypesv5TimeSeriesData'
      - $ref: '#/components/schemas/Querybuildertypesv5ScalarData'
      - $ref: '#/components/schemas/Querybuildertypesv5RawData'
      properties:
        results:
          items: {}
          nullable: true
          type: array
      type: object
    Querybuildertypesv5QueryEnvelope:
      discriminator:
        mapping:
          builder_ai_query: '#/components/schemas/Querybuildertypesv5QueryEnvelopeBuilderAI'
          builder_formula: '#/components/schemas/Querybuildertypesv5QueryEnvelopeFormula'
          builder_query: '#/components/schemas/Querybuildertypesv5QueryEnvelopeBuilder'
          builder_trace_operator: '#/components/schemas/Querybuildertypesv5QueryEnvelopeTraceOperator'
          clickhouse_sql: '#/components/schemas/Querybuildertypesv5QueryEnvelopeClickHouseSQL'
          promql: '#/components/schemas/Querybuildertypesv5QueryEnvelopePromQL'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelopeBuilder'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelopeBuilderAI'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelopeFormula'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelopeTraceOperator'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelopePromQL'
      - $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelopeClickHouseSQL'
      type: object
    Querybuildertypesv5QueryEnvelopeBuilder:
      properties:
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5BuilderQuerySpec'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5QueryType'
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeBuilderAI:
      properties:
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5QueryType'
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeClickHouseSQL:
      properties:
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5ClickHouseQuery'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5QueryType'
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeFormula:
      properties:
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderFormula'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5QueryType'
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopePromQL:
      properties:
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5PromQuery'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5QueryType'
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeTraceOperator:
      properties:
        spec:
          $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderTraceOperator'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5QueryType'
      required:
      - type
      type: object
    Querybuildertypesv5QueryPreview:
      properties:
        error: {}
        statements:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5PreviewStatement'
          type: array
        valid:
          type: boolean
        warnings:
          items:
            type: string
          type: array
      required:
      - valid
      - error
      - warnings
      - statements
      type: object
    Querybuildertypesv5QueryRangePreviewResponse:
      description: Response from the v5 query range preview (dry-run) endpoint. For
        each query in the composite query, returns the underlying ClickHouse statement(s)
        it renders to without executing them (one per PromQL metric selector; exactly
        one for builder/ClickHouse/trace-operator queries), with the optional EXPLAIN
        ESTIMATE and granule analysis attached per statement when requested.
      properties:
        compositeQuery:
          additionalProperties:
            $ref: '#/components/schemas/Querybuildertypesv5QueryPreview'
          nullable: true
          type: object
      required:
      - compositeQuery
      type: object
    Querybuildertypesv5QueryRangeRequest:
      description: Request body for the v5 query range endpoint. Supports builder
        queries (traces, logs, metrics), formulas, joins, trace operators, PromQL,
        and ClickHouse SQL queries.
      properties:
        compositeQuery:
          $ref: '#/components/schemas/Querybuildertypesv5CompositeQuery'
        end:
          minimum: 0
          type: integer
        formatOptions:
          $ref: '#/components/schemas/Querybuildertypesv5FormatOptions'
        noCache:
          type: boolean
        requestType:
          $ref: '#/components/schemas/Querybuildertypesv5RequestType'
        schemaVersion:
          type: string
        start:
          minimum: 0
          type: integer
        variables:
          additionalProperties:
            $ref: '#/components/schemas/Querybuildertypesv5VariableItem'
          type: object
      type: object
    Querybuildertypesv5QueryRangeResponse:
      description: 'Response from the v5 query range endpoint. The data.results array
        contains typed results depending on the requestType: TimeSeriesData for time_series,
        ScalarData for scalar, or RawData for raw requests.'
      properties:
        data:
          $ref: '#/components/schemas/Querybuildertypesv5QueryData'
        meta:
          $ref: '#/components/schemas/Querybuildertypesv5ExecStats'
        type:
          $ref: '#/components/schemas/Querybuildertypesv5RequestType'
        warning:
          $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
      type: object
    Querybuildertypesv5QueryType:
      enum:
      - builder_query
      - builder_ai_query
      - builder_formula
      - builder_trace_operator
      - clickhouse_sql
      - promql
      type: string
    Querybuildertypesv5QueryWarnData:
      properties:
        message:
          type: string
        url:
          type: string
        warnings:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryWarnDataAdditional'
          type: array
      type: object
    Querybuildertypesv5QueryWarnDataAdditional:
      properties:
        message:
          type: string
      type: object
    Querybuildertypesv5RawData:
      properties:
        nextCursor:
          type: string
        queryName:
          type: string
        rows:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5RawRow'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5RawRow:
      properties:
        data:
          additionalProperties: {}
          nullable: true
          type: object
        timestamp:
          format: date-time
          type: string
      type: object
    Querybuildertypesv5ReduceTo:
      enum:
      - sum
      - count
      - avg
      - min
      - max
      - last
      - median
      type: string
    Querybuildertypesv5RequestType:
      enum:
      - scalar
      - time_series
      - raw
      - raw_stream
      - trace
      type: string
    Querybuildertypesv5ScalarData:
      properties:
        columns:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5ColumnDescriptor'
          nullable: true
          type: array
        data:
          items:
            items: {}
            type: array
          nullable: true
          type: array
        queryName:
          type: string
      type: object
    Querybuildertypesv5SecondaryAggregation:
      properties:
        alias:
          type: string
        expression:
          type: string
        groupBy:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          type: integer
        limitBy:
          $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
        order:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        stepInterval:
          $ref: '#/components/schemas/Querybuildertypesv5Step'
      type: object
    Querybuildertypesv5Step:
      description: Step interval. Accepts a Go duration string (e.g., "60s", "1m",
        "1h") or a number representing seconds (e.g., 60).
      oneOf:
      - description: Duration string (e.g., "60s", "5m", "1h").
        example: 60s
        type: string
      - description: Duration in seconds.
        example: 60
        type: number
    Querybuildertypesv5TimeSeries:
      properties:
        labels:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Label'
          type: array
        values:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeriesValue'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5TimeSeriesData:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5AggregationBucket'
          nullable: true
          type: array
        queryName:
          type: string
      type: object
    Querybuildertypesv5TimeSeriesValue:
      properties:
        bucket:
          $ref: '#/components/schemas/Querybuildertypesv5Bucket'
        partial:
          type: boolean
        timestamp:
          format: int64
          type: integer
        value:
          format: double
          type: number
        values:
          items:
            format: double
            type: number
          type: array
      type: object
    Querybuildertypesv5TraceAggregation:
      properties:
        alias:
          type: string
        expression:
          type: string
      type: object
    Querybuildertypesv5VariableItem:
      properties:
        type:
          $ref: '#/components/schemas/Querybuildertypesv5VariableType'
        value:
          oneOf:
          - type: string
          - type: number
          - type: boolean
          - items:
              oneOf:
              - type: string
              - type: number
              - type: boolean
            type: array
      type: object
    Querybuildertypesv5VariableType:
      enum:
      - query
      - dynamic
      - custom
      - text
      type: string
    RenderErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorsJSON'
        status:
          type: string
      required:
      - status
      - error
      type: object
    RulestatehistorytypesGettableRuleStateHistory:
      properties:
        fingerprint:
          minimum: 0
          type: integer
        labels:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Label'
          nullable: true
          type: array
        overallState:
          $ref: '#/components/schemas/RuletypesAlertState'
        overallStateChanged:
          type: boolean
        relatedLogsLink:
          type: string
        relatedTracesLink:
          type: string
        ruleId:
          type: string
        ruleName:
          type: string
        state:
          $ref: '#/components/schemas/RuletypesAlertState'
        stateChanged:
          type: boolean
        unixMilli:
          format: int64
          type: integer
        value:
          format: double
          type: number
      required:
      - ruleId
      - ruleName
      - overallState
      - overallStateChanged
      - state
      - stateChanged
      - unixMilli
      - labels
      - fingerprint
      - value
      type: object
    RulestatehistorytypesGettableRuleStateHistoryContributor:
      properties:
        count:
          minimum: 0
          type: integer
        fingerprint:
          minimum: 0
          type: integer
        labels:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Label'
          nullable: true
          type: array
        relatedLogsLink:
          type: string
        relatedTracesLink:
          type: string
      required:
      - fingerprint
      - labels
      - count
      type: object
    RulestatehistorytypesGettableRuleStateHistoryStats:
      properties:
        currentAvgResolutionTime:
          format: double
          type: number
        currentAvgResolutionTimeSeries:
          $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
        currentTriggersSeries:
          $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
        pastAvgResolutionTime:
          format: double
          type: number
        pastAvgResolutionTimeSeries:
          $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
        pastTriggersSeries:
          $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
        totalCurrentTriggers:
          minimum: 0
          type: integer
        totalPastTriggers:
          minimum: 0
          type: integer
      required:
      - totalCurrentTriggers
      - totalPastTriggers
      - currentTriggersSeries
      - pastTriggersSeries
      - currentAvgResolutionTime
      - pastAvgResolutionTime
      - currentAvgResolutionTimeSeries
      - pastAvgResolutionTimeSeries
      type: object
    RulestatehistorytypesGettableRuleStateTimeline:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RulestatehistorytypesGettableRuleStateHistory'
          nullable: true
          type: array
        nextCursor:
          type: string
        total:
          minimum: 0
          type: integer
      required:
      - items
      - total
      type: object
    RulestatehistorytypesGettableRuleStateWindow:
      properties:
        end:
          format: int64
          type: integer
        start:
          format: int64
          type: integer
        state:
          $ref: '#/components/schemas/RuletypesAlertState'
      required:
      - state
      - start
      - end
      type: object
    RuletypesAlertCompositeQuery:
      properties:
        panelType:
          $ref: '#/components/schemas/RuletypesPanelType'
        queries:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelope'
          nullable: true
          type: array
        queryType:
          $ref: '#/components/schemas/RuletypesQueryType'
        unit:
          type: string
      required:
      - queries
      - panelType
      - queryType
      type: object
    RuletypesAlertState:
      enum:
      - inactive
      - pending
      - recovering
      - firing
      - nodata
      - disabled
      type: string
    RuletypesAlertType:
      enum:
      - METRIC_BASED_ALERT
      - TRACES_BASED_ALERT
      - LOGS_BASED_ALERT
      - EXCEPTIONS_BASED_ALERT
      type: string
    RuletypesBasicRuleThreshold:
      properties:
        channels:
          items:
            type: string
          nullable: true
          type: array
        matchType:
          $ref: '#/components/schemas/RuletypesMatchType'
        name:
          type: string
        op:
          $ref: '#/components/schemas/RuletypesCompareOperator'
        recoveryTarget:
          format: double
          nullable: true
          type: number
        target:
          format: double
          nullable: true
          type: number
        targetUnit:
          type: string
      required:
      - name
      - target
      - matchType
      - op
      type: object
    RuletypesBasicRuleThresholds:
      items:
        $ref: '#/components/schemas/RuletypesBasicRuleThreshold'
      nullable: true
      type: array
    RuletypesCompareOperator:
      enum:
      - above
      - below
      - equal
      - not_equal
      - above_or_equal
      - below_or_equal
      - outside_bounds
      type: string
    RuletypesCumulativeSchedule:
      properties:
        day:
          nullable: true
          type: integer
        hour:
          nullable: true
          type: integer
        minute:
          nullable: true
          type: integer
        type:
          $ref: '#/components/schemas/RuletypesScheduleType'
        weekday:
          nullable: true
          type: integer
      required:
      - type
      type: object
    RuletypesCumulativeWindow:
      properties:
        frequency:
          type: string
        schedule:
          $ref: '#/components/schemas/RuletypesCumulativeSchedule'
        timezone:
          type: string
      required:
      - schedule
      - frequency
      - timezone
      type: object
    RuletypesEvaluationCumulative:
      properties:
        kind:
          $ref: '#/components/schemas/RuletypesEvaluationKind'
        spec:
          $ref: '#/components/schemas/RuletypesCumulativeWindow'
      required:
      - kind
      - spec
      type: object
    RuletypesEvaluationEnvelope:
      discriminator:
        mapping:
          cumulative: '#/components/schemas/RuletypesEvaluationCumulative'
          rolling: '#/components/schemas/RuletypesEvaluationRolling'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/RuletypesEvaluationRolling'
      - $ref: '#/components/schemas/RuletypesEvaluationCumulative'
      type: object
    RuletypesEvaluationKind:
      enum:
      - rolling
      - cumulative
      type: string
    RuletypesEvaluationRolling:
      properties:
        kind:
          $ref: '#/components/schemas/RuletypesEvaluationKind'
        spec:
          $ref: '#/components/schemas/RuletypesRollingWindow'
      required:
      - kind
      - spec
      type: object
    RuletypesGettableTestRule:
      properties:
        alertCount:
          type: integer
        message:
          type: string
      type: object
    RuletypesMatchType:
      enum:
      - at_least_once
      - all_the_times
      - on_average
      - in_total
      - last
      type: string
    RuletypesNotificationSettings:
      properties:
        groupBy:
          items:
            type: string
          nullable: true
          type: array
        newGroupEvalDelay:
          type: string
        renotify:
          $ref: '#/components/schemas/RuletypesRenotify'
        usePolicy:
          type: boolean
      type: object
    RuletypesPanelType:
      enum:
      - value
      - table
      - graph
      type: string
    RuletypesPostableRule:
      properties:
        alert:
          type: string
        alertType:
          $ref: '#/components/schemas/RuletypesAlertType'
        annotations:
          additionalProperties:
            type: string
          type: object
        condition:
          $ref: '#/components/schemas/RuletypesRuleCondition'
        description:
          type: string
        disabled:
          type: boolean
        evalWindow:
          type: string
        evaluation:
          $ref: '#/components/schemas/RuletypesEvaluationEnvelope'
        frequency:
          type: string
        labels:
          additionalProperties:
            type: string
          type: object
        notificationSettings:
          $ref: '#/components/schemas/RuletypesNotificationSettings'
        preferredChannels:
          items:
            type: string
          type: array
        ruleType:
          $ref: '#/components/schemas/RuletypesRuleType'
        schemaVersion:
          type: string
        source:
          type: string
        version:
          type: string
      required:
      - alert
      - alertType
      - ruleType
      - condition
      type: object
    RuletypesQueryType:
      enum:
      - builder
      - clickhouse_sql
      - promql
      type: string
    RuletypesRenotify:
      properties:
        alertStates:
          items:
            $ref: '#/components/schemas/RuletypesAlertState'
          nullable: true
          type: array
        enabled:
          type: boolean
        interval:
          type: string
      type: object
    RuletypesRollingWindow:
      properties:
        evalWindow:
          type: string
        frequency:
          type: string
      required:
      - evalWindow
      - frequency
      type: object
    RuletypesRule:
      properties:
        alert:
          type: string
        alertType:
          $ref: '#/components/schemas/RuletypesAlertType'
        annotations:
          additionalProperties:
            type: string
          type: object
        condition:
          $ref: '#/components/schemas/RuletypesRuleCondition'
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        description:
          type: string
        disabled:
          type: boolean
        evalWindow:
          type: string
        evaluation:
          $ref: '#/components/schemas/RuletypesEvaluationEnvelope'
        frequency:
          type: string
        id:
          type: string
        labels:
          additionalProperties:
            type: string
          type: object
        notificationSettings:
          $ref: '#/components/schemas/RuletypesNotificationSettings'
        preferredChannels:
          items:
            type: string
          type: array
        ruleType:
          $ref: '#/components/schemas/RuletypesRuleType'
        schemaVersion:
          type: string
        source:
          type: string
        state:
          $ref: '#/components/schemas/RuletypesAlertState'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        version:
          type: string
      required:
      - id
      - state
      - alert
      - alertType
      - ruleType
      - condition
      type: object
    RuletypesRuleCondition:
      properties:
        absentFor:
          minimum: 0
          type: integer
        alertOnAbsent:
          type: boolean
        algorithm:
          type: string
        compositeQuery:
          $ref: '#/components/schemas/RuletypesAlertCompositeQuery'
        matchType:
          $ref: '#/components/schemas/RuletypesMatchType'
        op:
          $ref: '#/components/schemas/RuletypesCompareOperator'
        requireMinPoints:
          type: boolean
        requiredNumPoints:
          type: integer
        seasonality:
          $ref: '#/components/schemas/RuletypesSeasonality'
        selectedQueryName:
          type: string
        target:
          format: double
          nullable: true
          type: number
        targetUnit:
          type: string
        thresholds:
          $ref: '#/components/schemas/RuletypesRuleThresholdData'
      required:
      - compositeQuery
      type: object
    RuletypesRuleThresholdData:
      discriminator:
        mapping:
          basic: '#/components/schemas/RuletypesThresholdBasic'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/RuletypesThresholdBasic'
      type: object
    RuletypesRuleType:
      enum:
      - threshold_rule
      - promql_rule
      - anomaly_rule
      type: string
    RuletypesScheduleType:
      enum:
      - hourly
      - daily
      - weekly
      - monthly
      type: string
    RuletypesSeasonality:
      enum:
      - hourly
      - daily
      - weekly
      type: string
    RuletypesThresholdBasic:
      properties:
        kind:
          $ref: '#/components/schemas/RuletypesThresholdKind'
        spec:
          $ref: '#/components/schemas/RuletypesBasicRuleThresholds'
      required:
      - kind
      - spec
      type: object
    RuletypesThresholdKind:
      enum:
      - basic
      type: string
    SavedviewtypesDisplay:
      properties:
        color:
          type: string
        fontSize:
          type: string
        format:
          type: string
        maxLines:
          type: integer
      type: object
    SavedviewtypesPanelType:
      enum:
      - value
      - graph
      - table
      - list
      - trace
      type: string
    SavedviewtypesPostableSavedView:
      properties:
        generateName:
          type: boolean
        name:
          type: string
        schemaVersion:
          $ref: '#/components/schemas/SavedviewtypesSchemaVersion'
        source:
          $ref: '#/components/schemas/SavedviewtypesSource'
        spec:
          $ref: '#/components/schemas/SavedviewtypesSavedViewSpec'
      required:
      - source
      - schemaVersion
      - spec
      type: object
    SavedviewtypesSavedView:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        id:
          type: string
        name:
          type: string
        schemaVersion:
          $ref: '#/components/schemas/SavedviewtypesSchemaVersion'
        source:
          $ref: '#/components/schemas/SavedviewtypesSource'
        spec:
          $ref: '#/components/schemas/SavedviewtypesSavedViewSpec'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - schemaVersion
      - spec
      type: object
    SavedviewtypesSavedViewSpec:
      properties:
        display:
          $ref: '#/components/schemas/SavedviewtypesDisplay'
        displayName:
          type: string
        panelType:
          $ref: '#/components/schemas/SavedviewtypesPanelType'
        queries:
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelope'
          minItems: 1
          type: array
        requestType:
          $ref: '#/components/schemas/Querybuildertypesv5RequestType'
        selectedFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          type: array
      required:
      - displayName
      - panelType
      - requestType
      - queries
      type: object
    SavedviewtypesSchemaVersion:
      enum:
      - v2
      type: string
    SavedviewtypesSource:
      enum:
      - traces
      - logs
      - metrics
      - meter
      type: string
    SavedviewtypesUpdatableSavedView:
      properties:
        schemaVersion:
          $ref: '#/components/schemas/SavedviewtypesSchemaVersion'
        source:
          $ref: '#/components/schemas/SavedviewtypesSource'
        spec:
          $ref: '#/components/schemas/SavedviewtypesSavedViewSpec'
      required:
      - source
      - schemaVersion
      - spec
      type: object
    ServiceaccounttypesDeprecatedPostableServiceAccountRole:
      properties:
        id:
          type: string
      required:
      - id
      type: object
    ServiceaccounttypesGettableFactorAPIKey:
      properties:
        createdAt:
          format: date-time
          type: string
        expiresAt:
          minimum: 0
          type: integer
        id:
          type: string
        lastObservedAt:
          format: date-time
          type: string
        name:
          type: string
        serviceAccountId:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - expiresAt
      - lastObservedAt
      - serviceAccountId
      type: object
    ServiceaccounttypesGettableFactorAPIKeyWithKey:
      properties:
        id:
          type: string
        key:
          type: string
      required:
      - id
      - key
      type: object
    ServiceaccounttypesPostableFactorAPIKey:
      properties:
        expiresAt:
          minimum: 0
          type: integer
        name:
          type: string
      required:
      - name
      - expiresAt
      type: object
    ServiceaccounttypesPostableServiceAccount:
      properties:
        name:
          type: string
      required:
      - name
      type: object
    ServiceaccounttypesPostableServiceAccountRole:
      properties:
        roleId:
          type: string
        serviceAccountId:
          type: string
      required:
      - serviceAccountId
      - roleId
      type: object
    ServiceaccounttypesServiceAccount:
      properties:
        createdAt:
          format: date-time
          type: string
        email:
          type: string
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - email
      - status
      - orgId
      type: object
    ServiceaccounttypesServiceAccountRole:
      properties:
        createdAt:
          format: date-time
          type: string
        id:
          type: string
        role:
          $ref: '#/components/schemas/AuthtypesRole'
        roleId:
          type: string
        serviceAccountId:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - serviceAccountId
      - roleId
      - role
      type: object
    ServiceaccounttypesServiceAccountWithRoles:
      properties:
        createdAt:
          format: date-time
          type: string
        email:
          type: string
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        serviceAccountRoles:
          items:
            $ref: '#/components/schemas/ServiceaccounttypesServiceAccountRole'
          nullable: true
          type: array
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - email
      - status
      - orgId
      - serviceAccountRoles
      type: object
    ServiceaccounttypesUpdatableFactorAPIKey:
      properties:
        expiresAt:
          minimum: 0
          type: integer
        name:
          type: string
      required:
      - name
      - expiresAt
      type: object
    Sigv4SigV4Config:
      type: object
    SpantypesEvent:
      properties:
        attributeMap:
          additionalProperties: {}
          type: object
        isError:
          type: boolean
        name:
          type: string
        timeUnixNano:
          minimum: 0
          type: integer
      type: object
    SpantypesFieldContext:
      enum:
      - attribute
      - resource
      type: string
    SpantypesFlamegraphSpan:
      properties:
        attributes:
          additionalProperties: {}
          type: object
        durationNano:
          minimum: 0
          type: integer
        event:
          items:
            $ref: '#/components/schemas/SpantypesEvent'
          type: array
        hasError:
          type: boolean
        level:
          format: int64
          type: integer
        name:
          type: string
        parentSpanId:
          type: string
        resource:
          additionalProperties:
            type: string
          type: object
        spanId:
          type: string
        timestamp:
          minimum: 0
          type: integer
      required:
      - spanId
      - parentSpanId
      - timestamp
      - durationNano
      - hasError
      - name
      - level
      - event
      - attributes
      - resource
      type: object
    SpantypesGettableFlamegraphTrace:
      properties:
        endTimestampMillis:
          format: int64
          type: integer
        hasMore:
          type: boolean
        spans:
          items:
            items:
              $ref: '#/components/schemas/SpantypesFlamegraphSpan'
            type: array
          type: array
        startTimestampMillis:
          format: int64
          type: integer
      required:
      - spans
      - startTimestampMillis
      - endTimestampMillis
      - hasMore
      type: object
    SpantypesGettableSpanMapperGroups:
      properties:
        items:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapperGroup'
          type: array
      required:
      - items
      type: object
    SpantypesGettableSpanMapperTest:
      properties:
        collectorLogs:
          items:
            type: string
          nullable: true
          type: array
        spans:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapperTestSpan'
          nullable: true
          type: array
      type: object
    SpantypesGettableSpanMappers:
      properties:
        items:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapper'
          type: array
      required:
      - items
      type: object
    SpantypesGettableTraceAggregations:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/SpantypesSpanAggregationResult'
          type: array
      required:
      - aggregations
      type: object
    SpantypesGettableWaterfallTrace:
      properties:
        endTimestampMillis:
          minimum: 0
          type: integer
        hasMissingSpans:
          type: boolean
        hasMore:
          type: boolean
        rootServiceEntryPoint:
          type: string
        rootServiceName:
          type: string
        spans:
          items:
            $ref: '#/components/schemas/SpantypesWaterfallSpan'
          nullable: true
          type: array
        startTimestampMillis:
          minimum: 0
          type: integer
        totalErrorSpansCount:
          minimum: 0
          type: integer
        totalSpansCount:
          minimum: 0
          type: integer
        uncollapsedSpans:
          items:
            type: string
          nullable: true
          type: array
      type: object
    SpantypesOtelSpanRef:
      properties:
        refType:
          type: string
        spanId:
          type: string
        traceId:
          type: string
      type: object
    SpantypesPostableFlamegraph:
      properties:
        selectFields:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          type: array
        selectedSpanId:
          type: string
      type: object
    SpantypesPostableSpanMapper:
      properties:
        config:
          $ref: '#/components/schemas/SpantypesSpanMapperConfig'
        enabled:
          type: boolean
        fieldContext:
          $ref: '#/components/schemas/SpantypesFieldContext'
        name:
          type: string
      required:
      - name
      - fieldContext
      - config
      type: object
    SpantypesPostableSpanMapperGroup:
      properties:
        condition:
          $ref: '#/components/schemas/SpantypesSpanMapperGroupCondition'
        enabled:
          type: boolean
        name:
          type: string
      required:
      - name
      - condition
      type: object
    SpantypesPostableSpanMapperTest:
      properties:
        groups:
          items:
            $ref: '#/components/schemas/SpantypesPostableSpanMapperTestGroup'
          nullable: true
          type: array
        spans:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapperTestSpan'
          nullable: true
          type: array
      required:
      - spans
      - groups
      type: object
    SpantypesPostableSpanMapperTestGroup:
      properties:
        condition:
          $ref: '#/components/schemas/SpantypesSpanMapperGroupCondition'
        enabled:
          type: boolean
        mappers:
          items:
            $ref: '#/components/schemas/SpantypesPostableSpanMapper'
          nullable: true
          type: array
        name:
          type: string
      required:
      - name
      - condition
      type: object
    SpantypesPostableTraceAggregations:
      properties:
        aggregations:
          items:
            $ref: '#/components/schemas/SpantypesSpanAggregation'
          type: array
      required:
      - aggregations
      type: object
    SpantypesPostableWaterfall:
      properties:
        selectedSpanId:
          type: string
        uncollapsedSpans:
          items:
            type: string
          nullable: true
          type: array
      type: object
    SpantypesSpanAggregation:
      properties:
        aggregation:
          $ref: '#/components/schemas/SpantypesSpanAggregationType'
        field:
          $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
      required:
      - field
      - aggregation
      type: object
    SpantypesSpanAggregationResult:
      properties:
        aggregation:
          $ref: '#/components/schemas/SpantypesSpanAggregationType'
        field:
          $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
        value:
          additionalProperties:
            minimum: 0
            type: integer
          nullable: true
          type: object
      required:
      - field
      - aggregation
      - value
      type: object
    SpantypesSpanAggregationType:
      enum:
      - span_count
      - execution_time_percentage
      - duration
      type: string
    SpantypesSpanMapper:
      properties:
        config:
          $ref: '#/components/schemas/SpantypesSpanMapperConfig'
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        enabled:
          type: boolean
        fieldContext:
          $ref: '#/components/schemas/SpantypesFieldContext'
        groupId:
          type: string
        id:
          type: string
        name:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - groupId
      - name
      - fieldContext
      - config
      - enabled
      type: object
    SpantypesSpanMapperConfig:
      properties:
        sources:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapperSource'
          nullable: true
          type: array
      required:
      - sources
      type: object
    SpantypesSpanMapperGroup:
      properties:
        condition:
          $ref: '#/components/schemas/SpantypesSpanMapperGroupCondition'
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        enabled:
          type: boolean
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - orgId
      - name
      - condition
      - enabled
      type: object
    SpantypesSpanMapperGroupCondition:
      nullable: true
      properties:
        attributes:
          items:
            type: string
          nullable: true
          type: array
        resource:
          items:
            type: string
          nullable: true
          type: array
      required:
      - attributes
      - resource
      type: object
    SpantypesSpanMapperOperation:
      enum:
      - move
      - copy
      type: string
    SpantypesSpanMapperSource:
      properties:
        context:
          $ref: '#/components/schemas/SpantypesFieldContext'
        key:
          type: string
        operation:
          $ref: '#/components/schemas/SpantypesSpanMapperOperation'
        priority:
          type: integer
      required:
      - key
      - context
      - operation
      - priority
      type: object
    SpantypesSpanMapperTestSpan:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        resource:
          additionalProperties: {}
          nullable: true
          type: object
      type: object
    SpantypesUpdatableSpanMapper:
      properties:
        config:
          $ref: '#/components/schemas/SpantypesSpanMapperConfig'
        enabled:
          nullable: true
          type: boolean
        fieldContext:
          $ref: '#/components/schemas/SpantypesFieldContext'
      type: object
    SpantypesUpdatableSpanMapperGroup:
      properties:
        condition:
          $ref: '#/components/schemas/SpantypesSpanMapperGroupCondition'
        enabled:
          nullable: true
          type: boolean
        name:
          nullable: true
          type: string
      type: object
    SpantypesWaterfallSpan:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        db_name:
          type: string
        db_operation:
          type: string
        duration_nano:
          minimum: 0
          type: integer
        events:
          items:
            $ref: '#/components/schemas/SpantypesEvent'
          nullable: true
          type: array
        external_http_method:
          type: string
        external_http_url:
          type: string
        flags:
          minimum: 0
          type: integer
        has_children:
          type: boolean
        has_error:
          type: boolean
        http_host:
          type: string
        http_method:
          type: string
        http_url:
          type: string
        is_remote:
          type: string
        kind_string:
          type: string
        level:
          minimum: 0
          type: integer
        name:
          type: string
        parent_span_id:
          type: string
        references:
          items:
            $ref: '#/components/schemas/SpantypesOtelSpanRef'
          type: array
        resource:
          additionalProperties:
            type: string
          nullable: true
          type: object
        response_status_code:
          type: string
        span_id:
          type: string
        status_code:
          type: integer
        status_code_string:
          type: string
        status_message:
          type: string
        sub_tree_node_count:
          minimum: 0
          type: integer
        time_unix:
          minimum: 0
          type: integer
        trace_id:
          type: string
        trace_state:
          type: string
      required:
      - references
      type: object
    TagtypesGettableTag:
      properties:
        key:
          type: string
        value:
          type: string
      required:
      - key
      - value
      type: object
    TagtypesPostableTag:
      properties:
        key:
          type: string
        value:
          type: string
      required:
      - key
      - value
      type: object
    TelemetrystoretypesEstimateEntry:
      properties:
        database:
          type: string
        marks:
          format: int64
          type: integer
        parts:
          format: int64
          type: integer
        rows:
          format: int64
          type: integer
        table:
          type: string
      required:
      - database
      - table
      - parts
      - rows
      - marks
      type: object
    TelemetrystoretypesGranules:
      nullable: true
      properties:
        initial:
          format: int64
          type: integer
        reads:
          items:
            $ref: '#/components/schemas/TelemetrystoretypesMergeTreeRead'
          type: array
        selected:
          format: int64
          type: integer
        skipped:
          format: int64
          type: integer
      required:
      - initial
      - selected
      - skipped
      - reads
      type: object
    TelemetrystoretypesIndexStep:
      properties:
        condition:
          type: string
        initialGranules:
          format: int64
          type: integer
        initialParts:
          format: int64
          type: integer
        keys:
          items:
            type: string
          type: array
        name:
          type: string
        selectedGranules:
          format: int64
          type: integer
        selectedParts:
          format: int64
          type: integer
        type:
          type: string
      required:
      - type
      - name
      - keys
      - condition
      - initialParts
      - selectedParts
      - initialGranules
      - selectedGranules
      type: object
    TelemetrystoretypesMergeTreeRead:
      properties:
        steps:
          items:
            $ref: '#/components/schemas/TelemetrystoretypesIndexStep'
          type: array
        table:
          type: string
      required:
      - table
      - steps
      type: object
    TelemetrytypesFieldContext:
      enum:
      - metric
      - log
      - span
      - resource
      - attribute
      - body
      - ""
      type: string
    TelemetrytypesFieldDataType:
      enum:
      - string
      - bool
      - float64
      - int64
      - number
      - ""
      type: string
    TelemetrytypesGettableFieldKeys:
      properties:
        complete:
          type: boolean
        keys:
          additionalProperties:
            items:
              $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
            type: array
          nullable: true
          type: object
      required:
      - keys
      - complete
      type: object
    TelemetrytypesGettableFieldValues:
      properties:
        complete:
          type: boolean
        values:
          $ref: '#/components/schemas/TelemetrytypesTelemetryFieldValues'
      required:
      - values
      - complete
      type: object
    TelemetrytypesSignal:
      enum:
      - traces
      - logs
      - metrics
      - ""
      type: string
    TelemetrytypesSource:
      enum:
      - meter
      - ""
      type: string
    TelemetrytypesTelemetryFieldKey:
      properties:
        description:
          type: string
        fieldContext:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
        fieldDataType:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
        name:
          type: string
        signal:
          $ref: '#/components/schemas/TelemetrytypesSignal'
        unit:
          type: string
      required:
      - name
      type: object
    TelemetrytypesTelemetryFieldValues:
      properties:
        boolValues:
          items:
            type: boolean
          type: array
        numberValues:
          items:
            format: double
            type: number
          type: array
        relatedValues:
          items:
            type: string
          type: array
        stringValues:
          items:
            type: string
          type: array
      type: object
    TimeDuration:
      format: int64
      type: integer
    TypesAlertStatus:
      properties:
        inhibitedBy:
          items:
            type: string
          nullable: true
          type: array
        silencedBy:
          items:
            type: string
          nullable: true
          type: array
        state:
          type: string
      type: object
    TypesChangePasswordRequest:
      properties:
        newPassword:
          type: string
        oldPassword:
          type: string
      type: object
    TypesIdentifiable:
      properties:
        id:
          type: string
      required:
      - id
      type: object
    TypesOrganization:
      properties:
        alias:
          type: string
        createdAt:
          format: date-time
          type: string
        displayName:
          type: string
        id:
          type: string
        key:
          minimum: 0
          type: integer
        name:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      type: object
    TypesPostableForgotPassword:
      properties:
        email:
          type: string
        frontendBaseURL:
          type: string
        orgId:
          type: string
      required:
      - orgId
      - email
      type: object
    TypesPostableResetPassword:
      properties:
        password:
          type: string
        token:
          type: string
      type: object
    TypesPostableVerifyResetPasswordToken:
      properties:
        token:
          type: string
      required:
      - token
      type: object
    TypesResetPasswordToken:
      properties:
        expiresAt:
          format: date-time
          type: string
        id:
          type: string
        passwordId:
          type: string
        token:
          type: string
      required:
      - id
      type: object
    TypesUpdatableUser:
      properties:
        displayName:
          type: string
      required:
      - displayName
      type: object
    TypesUser:
      properties:
        createdAt:
          format: date-time
          type: string
        displayName:
          type: string
        email:
          type: string
        id:
          type: string
        isRoot:
          type: boolean
        orgId:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      type: object
    ZeustypesGettableHost:
      properties:
        hosts:
          items:
            $ref: '#/components/schemas/ZeustypesHost'
          nullable: true
          type: array
        name:
          type: string
        state:
          type: string
        tier:
          type: string
      required:
      - name
      - state
      - tier
      - hosts
      type: object
    ZeustypesHost:
      properties:
        is_default:
          type: boolean
        name:
          type: string
        url:
          type: string
      required:
      - name
      - is_default
      - url
      type: object
    ZeustypesPostableHost:
      properties:
        name:
          type: string
      required:
      - name
      type: object
    ZeustypesPostableProfile:
      properties:
        existing_observability_tool:
          type: string
        has_existing_observability_tool:
          type: boolean
        logs_scale_per_day_in_gb:
          format: int64
          type: integer
        number_of_hosts:
          format: int64
          type: integer
        number_of_services:
          format: int64
          type: integer
        reasons_for_interest_in_signoz:
          items:
            type: string
          nullable: true
          type: array
        timeline_for_migrating_to_signoz:
          type: string
        uses_otel:
          type: boolean
        where_did_you_discover_signoz:
          type: string
      required:
      - uses_otel
      - has_existing_observability_tool
      - existing_observability_tool
      - reasons_for_interest_in_signoz
      - logs_scale_per_day_in_gb
      - number_of_services
      - number_of_hosts
      - where_did_you_discover_signoz
      - timeline_for_migrating_to_signoz
      type: object
  securitySchemes:
    api_key:
      description: API Keys
      in: header
      name: SigNoz-Api-Key
      type: apiKey
    tokenizer:
      bearerFormat: Tokenizer
      description: Tokens generated by the tokenizer
      scheme: bearer
      type: http
info:
  contact:
    email: [email protected]
    name: SigNoz Support
    url: https://signoz.io
  description: OpenTelemetry-Native Logs, Metrics and Traces in a single pane
  termsOfService: https://signoz.io/terms-of-service/
  title: SigNoz
  version: ""
openapi: 3.0.3
paths:
  /api/v1/alerts:
    get:
      deprecated: false
      description: This endpoint returns alerts for the organization
      operationId: GetAlerts
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AlertmanagertypesDeprecatedGettableAlert'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get alerts
      tags:
      - alerts
  /api/v1/authz/check:
    post:
      deprecated: false
      description: Checks if the authenticated user has permissions for given transactions
      operationId: AuthzCheck
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/AuthtypesTransaction'
              type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AuthtypesGettableTransaction'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Check permissions
      tags:
      - authz
  /api/v1/channels:
    get:
      deprecated: false
      description: This endpoint lists all notification channels for the organization
      operationId: ListChannels
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AlertmanagertypesChannel'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List notification channels
      tags:
      - channels
    post:
      deprecated: false
      description: This endpoint creates a notification channel
      operationId: CreateChannel
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesPostableChannel'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesChannel'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create notification channel
      tags:
      - channels
  /api/v1/channels/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes a notification channel by ID
      operationId: DeleteChannelByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete notification channel
      tags:
      - channels
    get:
      deprecated: false
      description: This endpoint returns a notification channel by ID
      operationId: GetChannelByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesChannel'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get notification channel by ID
      tags:
      - channels
    put:
      deprecated: false
      description: This endpoint updates a notification channel by ID
      operationId: UpdateChannelByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesReceiver'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update notification channel
      tags:
      - channels
  /api/v1/channels/test:
    post:
      deprecated: false
      description: This endpoint tests a notification channel by sending a test notification
      operationId: TestChannel
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesReceiver'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Test notification channel
      tags:
      - channels
  /api/v1/cloud-integrations/{cloud_provider}/agent-check-in:
    post:
      deprecated: true
      description: '[Deprecated] This endpoint is called by the deployed agent to
        check in'
      operationId: AgentCheckInDeprecated
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudintegrationtypesPostableAgentCheckIn'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesGettableAgentCheckIn'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Agent check-in
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/accounts:
    get:
      deprecated: false
      description: This endpoint lists the accounts for the specified cloud provider
      operationId: ListAccounts
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesGettableAccounts'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: List accounts
      tags:
      - cloudintegration
    post:
      deprecated: false
      description: This endpoint creates a new cloud integration account for the specified
        cloud provider
      operationId: CreateAccount
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudintegrationtypesPostableAccount'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesGettableAccountWithConnectionArtifact'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create account
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/accounts/{id}:
    delete:
      deprecated: false
      description: This endpoint disconnects an account for the specified cloud provider
      operationId: DisconnectAccount
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Disconnect account
      tags:
      - cloudintegration
    get:
      deprecated: false
      description: This endpoint gets an account for the specified cloud provider
      operationId: GetAccount
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesAccount'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get account
      tags:
      - cloudintegration
    put:
      deprecated: false
      description: This endpoint updates an account for the specified cloud provider
      operationId: UpdateAccount
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudintegrationtypesUpdatableAccount'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update account
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/accounts/{id}/services:
    get:
      deprecated: false
      description: This endpoint lists the services metadata for the specified account
        and cloud provider
      operationId: ListAccountServicesMetadata
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesGettableServicesMetadata'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: List account services metadata
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/accounts/{id}/services/{service_id}:
    get:
      deprecated: false
      description: This endpoint gets a service and its configuration for the specified
        cloud integration account
      operationId: GetAccountService
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: service_id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesService'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get service for account
      tags:
      - cloudintegration
    put:
      deprecated: false
      description: This endpoint updates a service for the specified cloud provider
      operationId: UpdateService
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: service_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudintegrationtypesUpdatableService'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update service
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/accounts/check_in:
    post:
      deprecated: false
      description: This endpoint is called by the deployed agent to check in
      operationId: AgentCheckIn
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudintegrationtypesPostableAgentCheckIn'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesGettableAgentCheckIn'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Agent check-in
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/credentials:
    get:
      deprecated: false
      description: This endpoint retrieves the connection credentials required for
        integration
      operationId: GetConnectionCredentials
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesCredentials'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get connection credentials
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/services:
    get:
      deprecated: false
      description: This endpoint lists the services metadata for the specified cloud
        provider, without any account context.
      operationId: ListServicesMetadata
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesGettableServicesMetadata'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: List services metadata
      tags:
      - cloudintegration
  /api/v1/cloud_integrations/{cloud_provider}/services/{service_id}:
    get:
      deprecated: false
      description: This endpoint gets a service definition for the specified cloud
        provider, without any account context.
      operationId: GetService
      parameters:
      - in: path
        name: cloud_provider
        required: true
        schema:
          type: string
      - in: path
        name: service_id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/CloudintegrationtypesService'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get service
      tags:
      - cloudintegration
  /api/v1/complete/google:
    get:
      deprecated: false
      description: This endpoint creates a session for a user using google callback
      operationId: CreateSessionByGoogleCallback
      responses:
        "303":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesGettableToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: See Other
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Create session by google callback
      tags:
      - sessions
  /api/v1/complete/oidc:
    get:
      deprecated: false
      description: This endpoint creates a session for a user using oidc callback
      operationId: CreateSessionByOIDCCallback
      responses:
        "303":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesGettableToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: See Other
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Create session by oidc callback
      tags:
      - sessions
  /api/v1/complete/saml:
    post:
      deprecated: false
      description: This endpoint creates a session for a user using saml callback
      operationId: CreateSessionBySAMLCallback
      parameters:
      - in: query
        name: RelayState
        schema:
          type: string
      - in: query
        name: SAMLResponse
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                RelayState:
                  type: string
                SAMLResponse:
                  type: string
              type: object
      responses:
        "303":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesGettableToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: See Other
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Create session by saml callback
      tags:
      - sessions
  /api/v1/dashboards/{id}/public:
    delete:
      deprecated: false
      description: This endpoint deletes the public sharing config and disables the
        public sharing of a dashboard
      operationId: DeletePublicDashboard
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Delete public dashboard
      tags:
      - dashboard
    get:
      deprecated: false
      description: This endpoint returns public sharing config for a dashboard
      operationId: GetPublicDashboard
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettablePublicDasbhboard'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:read
      - tokenizer:
        - dashboard:read
      summary: Get public dashboard
      tags:
      - dashboard
    post:
      deprecated: false
      description: This endpoint creates public sharing config and enables public
        sharing of the dashboard
      operationId: CreatePublicDashboard
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesPostablePublicDashboard'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Create public dashboard
      tags:
      - dashboard
    put:
      deprecated: false
      description: This endpoint updates the public sharing config for a dashboard
      operationId: UpdatePublicDashboard
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesUpdatablePublicDashboard'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Update public dashboard
      tags:
      - dashboard
  /api/v1/downtime_schedules:
    get:
      deprecated: false
      description: This endpoint lists all planned maintenance / downtime schedules
      operationId: ListDowntimeSchedules
      parameters:
      - in: query
        name: active
        schema:
          nullable: true
          type: boolean
      - in: query
        name: recurring
        schema:
          nullable: true
          type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AlertmanagertypesPlannedMaintenance'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List downtime schedules
      tags:
      - downtimeschedules
    post:
      deprecated: false
      description: This endpoint creates a new planned maintenance / downtime schedule
      operationId: CreateDowntimeSchedule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesPostablePlannedMaintenance'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesPlannedMaintenance'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Create downtime schedule
      tags:
      - downtimeschedules
  /api/v1/downtime_schedules/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes a downtime schedule by ID
      operationId: DeleteDowntimeScheduleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Delete downtime schedule
      tags:
      - downtimeschedules
    get:
      deprecated: false
      description: This endpoint returns a downtime schedule by ID
      operationId: GetDowntimeScheduleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesPlannedMaintenance'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get downtime schedule by ID
      tags:
      - downtimeschedules
    put:
      deprecated: false
      description: This endpoint updates a downtime schedule by ID
      operationId: UpdateDowntimeScheduleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesPostablePlannedMaintenance'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update downtime schedule
      tags:
      - downtimeschedules
  /api/v1/export_raw_data:
    post:
      deprecated: false
      description: This endpoints allows complex query exporting raw data for traces
        and logs
      operationId: HandleExportRawDataPOST
      parameters:
      - description: The output format for the export.
        in: query
        name: format
        schema:
          default: csv
          description: The output format for the export.
          enum:
          - csv
          - jsonl
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Querybuildertypesv5QueryRangeRequest'
      responses:
        "200":
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Export raw data
      tags:
      - logs
      - traces
  /api/v1/fields/keys:
    get:
      deprecated: false
      description: This endpoint returns field keys
      operationId: GetFieldsKeys
      parameters:
      - in: query
        name: signal
        schema:
          $ref: '#/components/schemas/TelemetrytypesSignal'
      - in: query
        name: source
        schema:
          $ref: '#/components/schemas/TelemetrytypesSource'
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: startUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: endUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: fieldContext
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
      - in: query
        name: fieldDataType
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
      - in: query
        name: metricName
        schema:
          type: string
      - in: query
        name: metricNamespace
        schema:
          type: string
      - in: query
        name: searchText
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TelemetrytypesGettableFieldKeys'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get field keys
      tags:
      - fields
  /api/v1/fields/values:
    get:
      deprecated: false
      description: This endpoint returns field values
      operationId: GetFieldsValues
      parameters:
      - in: query
        name: signal
        schema:
          $ref: '#/components/schemas/TelemetrytypesSignal'
      - in: query
        name: source
        schema:
          $ref: '#/components/schemas/TelemetrytypesSource'
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: startUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: endUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: fieldContext
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
      - in: query
        name: fieldDataType
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
      - in: query
        name: metricName
        schema:
          type: string
      - in: query
        name: metricNamespace
        schema:
          type: string
      - in: query
        name: searchText
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: existingQuery
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TelemetrytypesGettableFieldValues'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get field values
      tags:
      - fields
  /api/v1/global/config:
    get:
      deprecated: false
      description: This endpoint returns global config
      operationId: GetGlobalConfig
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GlobaltypesConfig'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Get global config
      tags:
      - global
  /api/v1/llm_pricing_rules:
    get:
      deprecated: false
      description: Returns all LLM pricing rules for the authenticated org, with pagination.
      operationId: ListLLMPricingRules
      parameters:
      - in: query
        name: offset
        schema:
          type: integer
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
      - in: query
        name: isOverride
        schema:
          nullable: true
          type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/LlmpricingruletypesGettablePricingRules'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List pricing rules
      tags:
      - llmpricingrules
    put:
      deprecated: false
      description: Single write endpoint used by both the user and the Zeus sync job.
        Per-rule match is by id, then sourceId, then insert. Override rows (is_override=true)
        are fully preserved when the request does not provide isOverride; only synced_at
        is stamped.
      operationId: CreateOrUpdateLLMPricingRules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LlmpricingruletypesUpdatableLLMPricingRules'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create or update pricing rules
      tags:
      - llmpricingrules
  /api/v1/llm_pricing_rules/{id}:
    delete:
      deprecated: false
      description: Hard-deletes a pricing rule. If auto-synced, it will be recreated
        on the next sync cycle.
      operationId: DeleteLLMPricingRule
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete a pricing rule
      tags:
      - llmpricingrules
    get:
      deprecated: false
      description: Returns a single LLM pricing rule by ID.
      operationId: GetLLMPricingRule
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/LlmpricingruletypesLLMPricingRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get a pricing rule
      tags:
      - llmpricingrules
  /api/v1/llm_pricing_rules/unmapped_models:
    get:
      deprecated: false
      description: Returns models seen in the last hour of trace data (gen_ai.request.model)
        that no pricing rule pattern matches, so the user can add them to an existing
        rule or create a new one.
      operationId: ListUnmappedLLMModels
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/LlmpricingruletypesGettableUnmappedModels'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List unmapped models
      tags:
      - llmpricingrules
  /api/v1/logs/promote_paths:
    get:
      deprecated: false
      description: This endpoints promotes and indexes paths
      operationId: ListPromotedAndIndexedPaths
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/PromotetypesPromotePath'
                    nullable: true
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Promote and index paths
      tags:
      - logs
    post:
      deprecated: false
      description: This endpoints promotes and indexes paths
      operationId: HandlePromoteAndIndexPaths
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/PromotetypesPromotePath'
              nullable: true
              type: array
      responses:
        "201":
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Promote and index paths
      tags:
      - logs
  /api/v1/org/preferences:
    get:
      deprecated: false
      description: This endpoint lists all org preferences
      operationId: ListOrgPreferences
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/PreferencetypesPreference'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: List org preferences
      tags:
      - preferences
  /api/v1/org/preferences/{name}:
    get:
      deprecated: false
      description: This endpoint returns the org preference by name
      operationId: GetOrgPreference
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/PreferencetypesPreference'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get org preference
      tags:
      - preferences
    put:
      deprecated: false
      description: This endpoint updates the org preference by name
      operationId: UpdateOrgPreference
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferencetypesUpdatablePreference'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update org preference
      tags:
      - preferences
  /api/v1/public/dashboards/{id}:
    get:
      deprecated: false
      description: This endpoint returns the sanitized dashboard data for public access
      operationId: GetPublicDashboardData
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettablePublicDashboardData'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - anonymous:
        - public-dashboard:read
      summary: Get public dashboard data
      tags:
      - dashboard
  /api/v1/public/dashboards/{id}/widgets/{idx}/query_range:
    get:
      deprecated: false
      description: This endpoint return query range results for a widget of public
        dashboard
      operationId: GetPublicDashboardWidgetQueryRange
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: idx
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Querybuildertypesv5QueryRangeResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - anonymous:
        - public-dashboard:read
      summary: Get query range result
      tags:
      - dashboard
  /api/v1/roles:
    get:
      deprecated: false
      description: This endpoint lists all roles
      operationId: ListRoles
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AuthtypesGettableRole'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - role:list
      - tokenizer:
        - role:list
      summary: List roles
      tags:
      - role
    post:
      deprecated: false
      description: This endpoint creates a role
      operationId: CreateRole
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesPostableRole'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - role:create
      - tokenizer:
        - role:create
      summary: Create role
      tags:
      - role
  /api/v1/roles/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes a role
      operationId: DeleteRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - role:delete
      - tokenizer:
        - role:delete
      summary: Delete role
      tags:
      - role
    get:
      deprecated: false
      description: This endpoint gets a role
      operationId: GetRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesRole'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - role:read
      - tokenizer:
        - role:read
      summary: Get role
      tags:
      - role
    put:
      deprecated: false
      description: This endpoint updates a role
      operationId: UpdateRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesUpdatableRole'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - role:update
      - tokenizer:
        - role:update
      summary: Update role
      tags:
      - role
  /api/v1/route_policies:
    get:
      deprecated: false
      description: This endpoint lists all route policies for the organization
      operationId: GetAllRoutePolicies
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AlertmanagertypesGettableRoutePolicy'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List route policies
      tags:
      - routepolicies
    post:
      deprecated: false
      description: This endpoint creates a route policy
      operationId: CreateRoutePolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesPostableRoutePolicy'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesGettableRoutePolicy'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create route policy
      tags:
      - routepolicies
  /api/v1/route_policies/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes a route policy by ID
      operationId: DeleteRoutePolicyByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete route policy
      tags:
      - routepolicies
    get:
      deprecated: false
      description: This endpoint returns a route policy by ID
      operationId: GetRoutePolicyByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesGettableRoutePolicy'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get route policy by ID
      tags:
      - routepolicies
    put:
      deprecated: false
      description: This endpoint updates a route policy by ID
      operationId: UpdateRoutePolicy
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesPostableRoutePolicy'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesGettableRoutePolicy'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update route policy
      tags:
      - routepolicies
  /api/v1/service_account_roles:
    post:
      deprecated: false
      description: This endpoint assigns a role to a service account
      operationId: CreateServiceAccountRole
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesPostableServiceAccountRole'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:attach
        - role:attach
      - tokenizer:
        - serviceaccount:attach
        - role:attach
      summary: Create service account role
      tags:
      - serviceaccount
  /api/v1/service_account_roles/{id}:
    delete:
      deprecated: false
      description: This endpoint revokes a role from a service account
      operationId: DeleteServiceAccountRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:detach
        - role:detach
      - tokenizer:
        - serviceaccount:detach
        - role:detach
      summary: Delete service account role
      tags:
      - serviceaccount
    get:
      deprecated: false
      description: This endpoint gets an existing service account role
      operationId: GetServiceAccountRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ServiceaccounttypesServiceAccountRole'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:read
      - tokenizer:
        - serviceaccount:read
      summary: Get service account role
      tags:
      - serviceaccount
  /api/v1/service_accounts:
    get:
      deprecated: false
      description: This endpoint lists the service accounts for an organisation
      operationId: ListServiceAccounts
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/ServiceaccounttypesServiceAccount'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:list
      - tokenizer:
        - serviceaccount:list
      summary: List service accounts
      tags:
      - serviceaccount
    post:
      deprecated: false
      description: This endpoint creates a service account
      operationId: CreateServiceAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesPostableServiceAccount'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:create
      - tokenizer:
        - serviceaccount:create
      summary: Create service account
      tags:
      - serviceaccount
  /api/v1/service_accounts/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes an existing service account
      operationId: DeleteServiceAccount
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:delete
      - tokenizer:
        - serviceaccount:delete
      summary: Deletes a service account
      tags:
      - serviceaccount
    get:
      deprecated: false
      description: This endpoint gets an existing service account
      operationId: GetServiceAccount
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ServiceaccounttypesServiceAccountWithRoles'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:read
      - tokenizer:
        - serviceaccount:read
      summary: Gets a service account
      tags:
      - serviceaccount
    put:
      deprecated: false
      description: This endpoint updates an existing service account
      operationId: UpdateServiceAccount
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesPostableServiceAccount'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:update
      - tokenizer:
        - serviceaccount:update
      summary: Updates a service account
      tags:
      - serviceaccount
  /api/v1/service_accounts/{id}/keys:
    get:
      deprecated: false
      description: This endpoint lists the service account keys
      operationId: ListServiceAccountKeys
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/ServiceaccounttypesGettableFactorAPIKey'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - factor-api-key:list
      - tokenizer:
        - factor-api-key:list
      summary: List service account keys
      tags:
      - serviceaccount
    post:
      deprecated: false
      description: This endpoint creates a service account key
      operationId: CreateServiceAccountKey
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesPostableFactorAPIKey'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ServiceaccounttypesGettableFactorAPIKeyWithKey'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - factor-api-key:create
        - serviceaccount:attach
      - tokenizer:
        - factor-api-key:create
        - serviceaccount:attach
      summary: Create a service account key
      tags:
      - serviceaccount
  /api/v1/service_accounts/{id}/keys/{fid}:
    delete:
      deprecated: false
      description: This endpoint revokes an existing service account key
      operationId: RevokeServiceAccountKey
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: fid
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - factor-api-key:delete
        - serviceaccount:detach
      - tokenizer:
        - factor-api-key:delete
        - serviceaccount:detach
      summary: Revoke a service account key
      tags:
      - serviceaccount
    put:
      deprecated: false
      description: This endpoint updates an existing service account key
      operationId: UpdateServiceAccountKey
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: fid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesUpdatableFactorAPIKey'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - factor-api-key:update
      - tokenizer:
        - factor-api-key:update
      summary: Updates a service account key
      tags:
      - serviceaccount
  /api/v1/service_accounts/{id}/roles:
    get:
      deprecated: false
      description: This endpoint gets all the roles for the existing service account
      operationId: GetServiceAccountRoles
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AuthtypesRole'
                    nullable: true
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:read
      - tokenizer:
        - serviceaccount:read
      summary: Gets service account roles
      tags:
      - serviceaccount
    post:
      deprecated: true
      description: This endpoint assigns a role to a service account
      operationId: CreateServiceAccountRoleDeprecated
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesDeprecatedPostableServiceAccountRole'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:attach
        - role:attach
      - tokenizer:
        - serviceaccount:attach
        - role:attach
      summary: Create service account role
      tags:
      - serviceaccount
  /api/v1/service_accounts/{id}/roles/{rid}:
    delete:
      deprecated: true
      description: This endpoint revokes a role from service account
      operationId: DeleteServiceAccountRoleDeprecated
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: rid
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - serviceaccount:detach
        - role:detach
      - tokenizer:
        - serviceaccount:detach
        - role:detach
      summary: Delete service account role
      tags:
      - serviceaccount
  /api/v1/service_accounts/me:
    get:
      deprecated: false
      description: This endpoint gets my service account
      operationId: GetMyServiceAccount
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ServiceaccounttypesServiceAccountWithRoles'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Gets my service account
      tags:
      - serviceaccount
    put:
      deprecated: false
      description: This endpoint gets my service account
      operationId: UpdateMyServiceAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceaccounttypesPostableServiceAccount'
      responses:
        "204":
          description: No Content
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Updates my service account
      tags:
      - serviceaccount
  /api/v1/span_mapper_groups:
    get:
      deprecated: false
      description: Returns all span attribute mapping groups for the authenticated
        org.
      operationId: ListSpanMapperGroups
      parameters:
      - in: query
        name: enabled
        schema:
          nullable: true
          type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableSpanMapperGroups'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List span attribute mapping groups
      tags:
      - spanmapper
    post:
      deprecated: false
      description: Creates a new span attribute mapping group for the org.
      operationId: CreateSpanMapperGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesPostableSpanMapperGroup'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesSpanMapperGroup'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create a span attribute mapping group
      tags:
      - spanmapper
  /api/v1/span_mapper_groups/{groupId}:
    delete:
      deprecated: false
      description: Hard-deletes a mapping group and cascades to all its mappers.
      operationId: DeleteSpanMapperGroup
      parameters:
      - in: path
        name: groupId
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete a span attribute mapping group
      tags:
      - spanmapper
    patch:
      deprecated: false
      description: Partially updates an existing mapping group's name, condition,
        or enabled state.
      operationId: UpdateSpanMapperGroup
      parameters:
      - in: path
        name: groupId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesUpdatableSpanMapperGroup'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update a span attribute mapping group
      tags:
      - spanmapper
  /api/v1/span_mapper_groups/{groupId}/span_mappers:
    get:
      deprecated: false
      description: Returns all mappers belonging to a mapping group.
      operationId: ListSpanMappers
      parameters:
      - in: path
        name: groupId
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableSpanMappers'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List span mappers for a group
      tags:
      - spanmapper
    post:
      deprecated: false
      description: Adds a new mapper to the specified mapping group.
      operationId: CreateSpanMapper
      parameters:
      - in: path
        name: groupId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesPostableSpanMapper'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesSpanMapper'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create a span mapper
      tags:
      - spanmapper
  /api/v1/span_mapper_groups/{groupId}/span_mappers/{mapperId}:
    delete:
      deprecated: false
      description: Hard-deletes a mapper from a mapping group.
      operationId: DeleteSpanMapper
      parameters:
      - in: path
        name: groupId
        required: true
        schema:
          type: string
      - in: path
        name: mapperId
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete a span mapper
      tags:
      - spanmapper
    patch:
      deprecated: false
      description: Partially updates an existing mapper's field context, config, or
        enabled state.
      operationId: UpdateSpanMapper
      parameters:
      - in: path
        name: groupId
        required: true
        schema:
          type: string
      - in: path
        name: mapperId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesUpdatableSpanMapper'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update a span mapper
      tags:
      - spanmapper
  /api/v1/span_mapper_groups/test:
    post:
      deprecated: false
      description: Tests how span mappers would transform sample spans
      operationId: TestSpanMappers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesPostableSpanMapperTest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableSpanMapperTest'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Test span mappers against sample spans
      tags:
      - spanmapper
  /api/v1/stats:
    get:
      deprecated: false
      description: This endpoint returns the collected stats for the organization
      operationId: GetStats
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    additionalProperties: {}
                    type: object
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get stats
      tags:
      - stats
  /api/v1/testChannel:
    post:
      deprecated: true
      description: 'Deprecated: use /api/v1/channels/test instead'
      operationId: TestChannelDeprecated
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesReceiver'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Test notification channel (deprecated)
      tags:
      - channels
  /api/v1/traces/{traceID}/aggregations:
    post:
      deprecated: false
      description: Computes span aggregations grouped by requested field.
      operationId: GetTraceAggregations
      parameters:
      - in: path
        name: traceID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesPostableTraceAggregations'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableTraceAggregations'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get aggregations for a trace
      tags:
      - tracedetail
  /api/v1/user/me:
    get:
      deprecated: true
      description: This endpoint is deprecated and always fails. Use GET /api/v2/users/me
        instead.
      operationId: GetMyUserDeprecated
      responses:
        "200":
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - tokenizer: []
      summary: Get my user
      tags:
      - users
  /api/v1/user/preferences:
    get:
      deprecated: false
      description: This endpoint lists all user preferences
      operationId: ListUserPreferences
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/PreferencetypesPreference'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List user preferences
      tags:
      - preferences
  /api/v1/user/preferences/{name}:
    get:
      deprecated: false
      description: This endpoint returns the user preference by name
      operationId: GetUserPreference
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/PreferencetypesPreference'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get user preference
      tags:
      - preferences
    put:
      deprecated: false
      description: This endpoint updates the user preference by name
      operationId: UpdateUserPreference
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferencetypesUpdatablePreference'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Update user preference
      tags:
      - preferences
  /api/v2/auth_domains:
    get:
      deprecated: false
      description: This endpoint lists all auth domains
      operationId: ListAuthDomains
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AuthtypesGettableAuthDomain'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: List all auth domains
      tags:
      - authdomains
    post:
      deprecated: false
      description: This endpoint creates an auth domain
      operationId: CreateAuthDomain
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesPostableAuthDomain'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create auth domain
      tags:
      - authdomains
  /api/v2/auth_domains/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes an auth domain
      operationId: DeleteAuthDomain
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete auth domain
      tags:
      - authdomains
    get:
      deprecated: false
      description: This endpoint returns an auth domain by ID
      operationId: GetAuthDomain
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesGettableAuthDomain'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get auth domain by ID
      tags:
      - authdomains
    put:
      deprecated: false
      description: This endpoint updates an auth domain
      operationId: UpdateAuthDomain
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesUpdatableAuthDomain'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update auth domain
      tags:
      - authdomains
  /api/v2/dashboard_views:
    get:
      deprecated: false
      description: Returns every saved view in the calling user's org. Saved views
        are shared org-wide.
      operationId: ListDashboardViews
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesListableDashboardView'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: List dashboard saved views
      tags:
      - dashboard
    post:
      deprecated: false
      description: Persists the calling user's dashboard listing state (query, sort,
        order) as a named, reusable view shared across the org.
      operationId: CreateDashboardView
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesPostableDashboardView'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesDashboardView'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: Create dashboard saved view
      tags:
      - dashboard
  /api/v2/dashboard_views/{id}:
    delete:
      deprecated: false
      description: Removes a saved view. Saved views are shared org-wide. Deleting
        a non-existent view returns 404.
      operationId: DeleteDashboardView
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: Delete dashboard saved view
      tags:
      - dashboard
    put:
      deprecated: false
      description: Replaces a saved view's name and data. Saved views are shared org-wide.
      operationId: UpdateDashboardView
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesPostableDashboardView'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesDashboardView'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: Update dashboard saved view
      tags:
      - dashboard
  /api/v2/dashboards:
    get:
      deprecated: false
      description: Returns a page of v2-shape dashboards for the org. This is the
        pure, user-independent list — it carries no pin state. Use ListDashboardsForUserV2
        for the personalized, pin-aware list. Supports a filter DSL (`query`), sort
        (`updated_at`/`created_at`/`name`), order (`asc`/`desc`), and offset-based
        pagination (`limit`/`offset`).
      operationId: ListDashboardsV2
      parameters:
      - in: query
        name: query
        schema:
          type: string
      - in: query
        name: sort
        schema:
          $ref: '#/components/schemas/DashboardtypesListSort'
      - in: query
        name: order
        schema:
          $ref: '#/components/schemas/DashboardtypesListOrder'
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: offset
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesListableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: List dashboards (v2)
      tags:
      - dashboard
    post:
      deprecated: false
      description: This endpoint creates a dashboard in the v2 format that follows
        Perses spec.
      operationId: CreateDashboardV2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesPostableDashboardV2'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:create
      - tokenizer:
        - dashboard:create
      summary: Create dashboard (v2)
      tags:
      - dashboard
  /api/v2/dashboards/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes a v2-shape dashboard along with its tag relations.
        Locked dashboards are rejected.
      operationId: DeleteDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:delete
      - tokenizer:
        - dashboard:delete
      summary: Delete dashboard (v2)
      tags:
      - dashboard
    get:
      deprecated: false
      description: This endpoint returns a v2-shape dashboard.
      operationId: GetDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:read
      - tokenizer:
        - dashboard:read
      summary: Get dashboard (v2)
      tags:
      - dashboard
    patch:
      deprecated: false
      description: 'This endpoint applies an RFC 6902 JSON Patch to a v2-shape dashboard.
        The patch is applied against the postable view of the dashboard (metadata,
        data, tags), so individual panels, queries, variables, layouts, or tags can
        be updated without re-sending the rest of the dashboard. Apply is lenient:
        `remove` on a missing path is a no-op (idempotent) and `add` creates any missing
        parent objects, rather than failing as strict RFC 6902 would. The resulting
        dashboard is still validated. Locked dashboards are rejected.'
      operationId: PatchDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesPatchableDashboardV2'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Patch dashboard (v2)
      tags:
      - dashboard
    put:
      deprecated: false
      description: This endpoint updates a v2-shape dashboard's metadata, data, and
        tag set. Locked dashboards are rejected.
      operationId: UpdateDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardtypesUpdatableDashboardV2'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Update dashboard (v2)
      tags:
      - dashboard
  /api/v2/dashboards/{id}/clone:
    post:
      deprecated: false
      description: This endpoint clones an existing v2-shape dashboard. User and integration
        dashboards can be cloned; system dashboards are rejected. The clone keeps
        the source's display name, panels, and tags, but gets a freshly generated
        unique internal name and is always created as an unlocked user dashboard owned
        by the caller.
      operationId: CloneDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:read
        - dashboard:create
      - tokenizer:
        - dashboard:read
        - dashboard:create
      summary: Clone dashboard (v2)
      tags:
      - dashboard
  /api/v2/dashboards/{id}/lock:
    delete:
      deprecated: false
      description: This endpoint unlocks a v2-shape dashboard. Only the dashboard's
        creator or an org admin may lock or unlock.
      operationId: UnlockDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Unlock dashboard (v2)
      tags:
      - dashboard
    put:
      deprecated: false
      description: This endpoint locks a v2-shape dashboard. Only the dashboard's
        creator or an org admin may lock or unlock.
      operationId: LockDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Lock dashboard (v2)
      tags:
      - dashboard
  /api/v2/dashboards/{id}/migrate:
    post:
      deprecated: false
      description: 'This endpoint retries the v1→v2 (Perses) migration on a dashboard
        still stored in the v1 schema and returns the v2-shape result. It is idempotent:
        a dashboard already in the v2 schema is returned unchanged.'
      operationId: MigrateDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:update
      - tokenizer:
        - dashboard:update
      summary: Migrate dashboard to v2
      tags:
      - dashboard
  /api/v2/factor_password/forgot:
    post:
      deprecated: false
      description: This endpoint initiates the forgot password flow by sending a reset
        password email
      operationId: ForgotPassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesPostableForgotPassword'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "422":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unprocessable Entity
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Forgot password
      tags:
      - users
  /api/v2/factor_password/reset:
    post:
      deprecated: false
      description: This endpoint resets the password using a single use reset password
        token
      operationId: ResetPassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesPostableResetPassword'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Reset password
      tags:
      - users
  /api/v2/features:
    get:
      deprecated: false
      description: This endpoint returns the supported features and their details
      operationId: GetFeatures
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/FeaturetypesGettableFeature'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get features
      tags:
      - features
  /api/v2/gateway/ingestion_keys:
    get:
      deprecated: false
      description: This endpoint returns the ingestion keys for a workspace
      operationId: GetIngestionKeys
      parameters:
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: per_page
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableIngestionKeys'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Get ingestion keys for workspace
      tags:
      - gateway
    post:
      deprecated: false
      description: This endpoint creates an ingestion key for the workspace
      operationId: CreateIngestionKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKey'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableCreatedIngestionKey'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Create ingestion key for workspace
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/{keyId}:
    delete:
      deprecated: false
      description: This endpoint deletes an ingestion key for the workspace
      operationId: DeleteIngestionKey
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Delete ingestion key for workspace
      tags:
      - gateway
    patch:
      deprecated: false
      description: This endpoint updates an ingestion key for the workspace
      operationId: UpdateIngestionKey
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKey'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update ingestion key for workspace
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/{keyId}/limits:
    post:
      deprecated: false
      description: This endpoint creates an ingestion key limit
      operationId: CreateIngestionKeyLimit
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKeyLimit'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableCreatedIngestionKeyLimit'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Create limit for the ingestion key
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/limits/{limitId}:
    delete:
      deprecated: false
      description: This endpoint deletes an ingestion key limit
      operationId: DeleteIngestionKeyLimit
      parameters:
      - in: path
        name: limitId
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Delete limit for the ingestion key
      tags:
      - gateway
    patch:
      deprecated: false
      description: This endpoint updates an ingestion key limit
      operationId: UpdateIngestionKeyLimit
      parameters:
      - in: path
        name: limitId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesUpdatableIngestionKeyLimit'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update limit for the ingestion key
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/search:
    get:
      deprecated: false
      description: This endpoint returns the ingestion keys for a workspace
      operationId: SearchIngestionKeys
      parameters:
      - in: query
        name: name
        required: true
        schema:
          type: string
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: per_page
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableIngestionKeys'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Search ingestion keys for workspace
      tags:
      - gateway
  /api/v2/healthz:
    get:
      operationId: Healthz
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FactoryResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "503":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FactoryResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Service Unavailable
      summary: Health check
      tags:
      - health
  /api/v2/infra_monitoring/checks:
    get:
      deprecated: false
      description: 'Checks whether the metrics and attributes required to power the
        infra-monitoring section selected by the ''type'' query parameter (hosts,
        processes, pods, nodes, deployments, daemonsets, statefulsets, jobs, namespaces,
        clusters, volumes) are being received. For each collector receiver or processor
        that contributes required metrics or attributes, lists what is present and
        what is missing, with a prebuilt user-facing message and a docs link per missing
        component. Default-enabled metrics are those expected as soon as the receiver
        is configured; optional metrics require ''enabled: true'' in receiver config.
        ''ready'' is true only when every missing list is empty.'
      operationId: GetChecks
      parameters:
      - in: query
        name: type
        required: true
        schema:
          $ref: '#/components/schemas/InframonitoringtypesCheckType'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesChecks'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Run Infra Monitoring Setup Checks
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/clusters:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes clusters with key aggregated
        metrics derived by summing per-node values within the group: CPU usage, CPU
        allocatable, memory working set, memory allocatable. Each row also reports
        per-group nodeCountsByReadiness ({ ready, notReady } from each node''s latest
        k8s.node.condition_ready value) and per-group podCountsByStatus ({ pending,
        running, failed, unknown, crashLoopBackOff, imagePullBackOff, errImagePull,
        createContainerConfigError, containerCreating, oomKilled, completed, error,
        containerCannotRun, evicted, nodeAffinity, nodeLost, shutdown, unexpectedAdmissionError
        } reflecting each pod''s latest kubectl-style display status). Each cluster
        includes metadata attributes (k8s.cluster.name). The response type is ''list''
        for the default k8s.cluster.name grouping or ''grouped_list'' for custom groupBy
        keys; in both modes every row aggregates nodes and pods in the group. Supports
        filtering via a filter expression, custom groupBy, ordering by cpu / cpu_allocatable
        / memory / memory_allocatable, and pagination via offset/limit. Also reports
        whether the requested time range falls before the data retention boundary.
        Numeric metric fields (clusterCPU, clusterCPUAllocatable, clusterMemory, clusterMemoryAllocatable)
        return -1 as a sentinel when no data is available for that field.'
      operationId: ListClusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableClusters'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesClusters'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Clusters for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/daemonsets:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes DaemonSets with key aggregated
        pod metrics: CPU usage and memory working set summed across pods owned by
        the daemonset, plus average CPU/memory request and limit utilization (daemonSetCPURequest,
        daemonSetCPULimit, daemonSetMemoryRequest, daemonSetMemoryLimit). Each row
        also reports the latest known node-level counters from kube-state-metrics:
        desiredNodes (k8s.daemonset.desired_scheduled_nodes, the number of nodes the
        daemonset wants to run on), currentNodes (k8s.daemonset.current_scheduled_nodes,
        the number of nodes the daemonset currently runs on), readyNodes (k8s.daemonset.ready_nodes,
        the number of nodes running at least one ready daemon pod) and misscheduledNodes
        (k8s.daemonset.misscheduled_nodes, the number of nodes running the daemon
        pod but not supposed to) — note these are node counts, not pod counts. It
        also reports per-group podCountsByStatus ({ pending, running, failed, unknown,
        crashLoopBackOff, imagePullBackOff, errImagePull, createContainerConfigError,
        containerCreating, oomKilled, completed, error, containerCannotRun, evicted,
        nodeAffinity, nodeLost, shutdown, unexpectedAdmissionError } reflecting each
        pod''s latest kubectl-style display status). Each daemonset includes metadata
        attributes (k8s.daemonset.name, k8s.namespace.name, k8s.cluster.name). The
        response type is ''list'' for the default k8s.daemonset.name grouping or ''grouped_list''
        for custom groupBy keys; in both modes every row aggregates pods owned by
        daemonsets in the group. Supports filtering via a filter expression, custom
        groupBy, ordering by cpu / cpu_request / cpu_limit / memory / memory_request
        / memory_limit / desired_nodes / current_nodes / ready_nodes / misscheduled_nodes,
        and pagination via offset/limit. Also reports whether the requested time range
        falls before the data retention boundary. Numeric metric fields (daemonSetCPU,
        daemonSetCPURequest, daemonSetCPULimit, daemonSetMemory, daemonSetMemoryRequest,
        daemonSetMemoryLimit, desiredNodes, currentNodes, readyNodes, misscheduledNodes)
        return -1 as a sentinel when no data is available for that field.'
      operationId: ListDaemonSets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableDaemonSets'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesDaemonSets'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List DaemonSets for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/deployments:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes Deployments with key aggregated
        pod metrics: CPU usage and memory working set summed across pods owned by
        the deployment, plus average CPU/memory request and limit utilization (deploymentCPURequest,
        deploymentCPULimit, deploymentMemoryRequest, deploymentMemoryLimit). Each
        row also reports the latest known desiredPods (k8s.deployment.desired) and
        availablePods (k8s.deployment.available) replica counts and per-group podCountsByStatus
        ({ pending, running, failed, unknown, crashLoopBackOff, imagePullBackOff,
        errImagePull, createContainerConfigError, containerCreating, oomKilled, completed,
        error, containerCannotRun, evicted, nodeAffinity, nodeLost, shutdown, unexpectedAdmissionError
        } reflecting each pod''s latest kubectl-style display status). Each deployment
        includes metadata attributes (k8s.deployment.name, k8s.namespace.name, k8s.cluster.name).
        The response type is ''list'' for the default k8s.deployment.name grouping
        or ''grouped_list'' for custom groupBy keys; in both modes every row aggregates
        pods owned by deployments in the group. Supports filtering via a filter expression,
        custom groupBy, ordering by cpu / cpu_request / cpu_limit / memory / memory_request
        / memory_limit / desired_pods / available_pods, and pagination via offset/limit.
        Also reports whether the requested time range falls before the data retention
        boundary. Numeric metric fields (deploymentCPU, deploymentCPURequest, deploymentCPULimit,
        deploymentMemory, deploymentMemoryRequest, deploymentMemoryLimit, desiredPods,
        availablePods) return -1 as a sentinel when no data is available for that
        field.'
      operationId: ListDeployments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableDeployments'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesDeployments'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Deployments for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/hosts:
    post:
      deprecated: false
      description: 'Returns a paginated list of hosts with key infrastructure metrics:
        CPU usage (%), memory usage (%), I/O wait (%), disk usage (%), and 15-minute
        load average. Each host includes its current status (active/inactive based
        on metrics reported in the last 10 minutes) and metadata attributes (e.g.,
        os.type). Supports filtering via a filter expression, filtering by host status,
        custom groupBy to aggregate hosts by any attribute, ordering by any of the
        five metrics, and pagination via offset/limit. The response type is ''list''
        for the default host.name grouping or ''grouped_list'' for custom groupBy
        keys. Also reports whether the requested time range falls before the data
        retention boundary. Numeric metric fields (cpu, memory, wait, load15, diskUsage)
        return -1 as a sentinel when no data is available for that field.'
      operationId: ListHosts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableHosts'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesHosts'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Hosts for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/jobs:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes Jobs with key aggregated
        pod metrics: CPU usage and memory working set summed across pods owned by
        the job, plus average CPU/memory request and limit utilization (jobCPURequest,
        jobCPULimit, jobMemoryRequest, jobMemoryLimit). Each row also reports the
        latest known job-level counters from kube-state-metrics: desiredSuccessfulPods
        (k8s.job.desired_successful_pods, the target completion count), activePods
        (k8s.job.active_pods), failedPods (k8s.job.failed_pods, cumulative across
        the lifetime of the job), and successfulPods (k8s.job.successful_pods, cumulative).
        It also reports per-group podCountsByStatus ({ pending, running, failed, unknown,
        crashLoopBackOff, imagePullBackOff, errImagePull, createContainerConfigError,
        containerCreating, oomKilled, completed, error, containerCannotRun, evicted,
        nodeAffinity, nodeLost, shutdown, unexpectedAdmissionError } reflecting each
        pod''s latest kubectl-style display status); note podCountsByStatus.failed
        (current pod status) is distinct from failedPods (cumulative job kube-state-metric).
        Each job includes metadata attributes (k8s.job.name, k8s.namespace.name, k8s.cluster.name).
        The response type is ''list'' for the default k8s.job.name grouping or ''grouped_list''
        for custom groupBy keys; in both modes every row aggregates pods owned by
        jobs in the group. Supports filtering via a filter expression, custom groupBy,
        ordering by cpu / cpu_request / cpu_limit / memory / memory_request / memory_limit
        / desired_successful_pods / active_pods / failed_pods / successful_pods, and
        pagination via offset/limit. Also reports whether the requested time range
        falls before the data retention boundary. Numeric metric fields (jobCPU, jobCPURequest,
        jobCPULimit, jobMemory, jobMemoryRequest, jobMemoryLimit, desiredSuccessfulPods,
        activePods, failedPods, successfulPods) return -1 as a sentinel when no data
        is available for that field.'
      operationId: ListJobs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableJobs'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesJobs'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Jobs for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/kube_containers:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes containers with key kubeletstats
        metrics: CPU usage (cores), CPU request/limit utilization, memory working
        set, and memory request/limit utilization. Each container also reports health
        signals from the k8s_cluster receiver: status (kubectl-style display status
        derived from k8s.container.status.state + k8s.container.status.reason), restarts
        (absolute count from k8s.container.restarts), and ready (ready/not_ready from
        k8s.container.ready). The row identity is (k8s.pod.uid, k8s.container.name),
        stable across container restarts. Each container includes metadata attributes
        (k8s.container.name, k8s.pod.name, container.image.name, container.image.tag,
        k8s.namespace.name, k8s.node.name, k8s.cluster.name, and workload owner such
        as deployment/statefulset/daemonset/job). The response type is ''list'' for
        the default (k8s.pod.uid, k8s.container.name) grouping (each row is one container
        with its current status and ready state) or ''grouped_list'' for custom groupBy
        keys (each row aggregates containers in the group with per-status counts under
        containerCountsByStatus, per-readiness counts under containerCountsByReady,
        and restarts as the group sum). Status requires the optional k8s.container.status.state
        and k8s.container.status.reason metrics; when either is missing, status is
        omitted and a warning is returned while restarts and ready are still computed.
        Supports filtering via a filter expression, custom groupBy, ordering by any
        of the six metrics (cpu, cpu_request, cpu_limit, memory, memory_request, memory_limit),
        and pagination via offset/limit. Also reports whether the requested time range
        falls before the data retention boundary. Numeric metric fields (cpu, cpuRequestUtilization,
        cpuLimitUtilization, memory, memoryRequestUtilization, memoryLimitUtilization)
        and restarts return -1 as a sentinel when no data is available for that field.'
      operationId: ListContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableContainers'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesContainers'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Kubernetes Containers for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/namespaces:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes namespaces with key aggregated
        pod metrics: CPU usage and memory working set (summed across pods in the group),
        plus per-group podCountsByStatus ({ pending, running, failed, unknown, crashLoopBackOff,
        imagePullBackOff, errImagePull, createContainerConfigError, containerCreating,
        oomKilled, completed, error, containerCannotRun, evicted, nodeAffinity, nodeLost,
        shutdown, unexpectedAdmissionError } reflecting each pod''s latest kubectl-style
        display status in the window). Each namespace includes metadata attributes
        (k8s.namespace.name, k8s.cluster.name). The response type is ''list'' for
        the default k8s.namespace.name grouping or ''grouped_list'' for custom groupBy
        keys; in both modes every row aggregates pods in the group. Supports filtering
        via a filter expression, custom groupBy, ordering by cpu / memory, and pagination
        via offset/limit. Also reports whether the requested time range falls before
        the data retention boundary. Numeric metric fields (namespaceCPU, namespaceMemory)
        return -1 as a sentinel when no data is available for that field.'
      operationId: ListNamespaces
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableNamespaces'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesNamespaces'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Namespaces for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/nodes:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes nodes with key metrics:
        CPU usage, CPU allocatable, memory working set, memory allocatable, per-group
        nodeCountsByReadiness ({ ready, notReady } from each node''s latest k8s.node.condition_ready
        in the window) and per-group podCountsByStatus ({ pending, running, failed,
        unknown, crashLoopBackOff, imagePullBackOff, errImagePull, createContainerConfigError,
        containerCreating, oomKilled, completed, error, containerCannotRun, evicted,
        nodeAffinity, nodeLost, shutdown, unexpectedAdmissionError } for pods scheduled
        on the listed nodes, reflecting each pod''s latest kubectl-style display status).
        Each node includes metadata attributes (k8s.node.uid, k8s.cluster.name). The
        response type is ''list'' for the default k8s.node.name grouping (each row
        is one node with its current condition string: ready / not_ready / no_data)
        or ''grouped_list'' for custom groupBy keys (each row aggregates nodes in
        the group; condition stays no_data). Supports filtering via a filter expression,
        custom groupBy, ordering by cpu / cpu_allocatable / memory / memory_allocatable,
        and pagination via offset/limit. Also reports whether the requested time range
        falls before the data retention boundary. Numeric metric fields (nodeCPU,
        nodeCPUAllocatable, nodeMemory, nodeMemoryAllocatable) return -1 as a sentinel
        when no data is available for that field.'
      operationId: ListNodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableNodes'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesNodes'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Nodes for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/pods:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes pods with key metrics:
        CPU usage, CPU request/limit utilization, memory working set, memory request/limit
        utilization, current pod status (kubectl-style display status such as Running/Pending/CrashLoopBackOff,
        or no_data), and pod age (ms since start time). Each pod includes metadata
        attributes (namespace, node, workload owner such as deployment/statefulset/daemonset/job/cronjob,
        cluster). Supports filtering via a filter expression, custom groupBy to aggregate
        pods by any attribute, ordering by any of the six metrics (cpu, cpu_request,
        cpu_limit, memory, memory_request, memory_limit), and pagination via offset/limit.
        The response type is ''list'' for the default k8s.pod.uid grouping (each row
        is one pod with its current status) or ''grouped_list'' for custom groupBy
        keys (each row aggregates pods in the group with per-status counts under podCountsByStatus:
        { pending, running, failed, unknown, crashLoopBackOff, imagePullBackOff, errImagePull,
        createContainerConfigError, containerCreating, oomKilled, completed, error,
        containerCannotRun, evicted, nodeAffinity, nodeLost, shutdown, unexpectedAdmissionError
        } derived from each pod''s latest kubectl-style display status in the window).
        Also reports whether the requested time range falls before the data retention
        boundary. Numeric metric fields (podCPU, podCPURequest, podCPULimit, podMemory,
        podMemoryRequest, podMemoryLimit, podAge) return -1 as a sentinel when no
        data is available for that field.'
      operationId: ListPods
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostablePods'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesPods'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Pods for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/pvcs:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes persistent volume claims
        (PVCs) with key volume metrics: available bytes, capacity bytes, usage (capacity
        - available), inodes, free inodes, and used inodes. Each row also includes
        metadata attributes (k8s.persistentvolumeclaim.name, k8s.pod.uid, k8s.pod.name,
        k8s.namespace.name, k8s.node.name, k8s.statefulset.name, k8s.cluster.name).
        Supports filtering via a filter expression, custom groupBy to aggregate volumes
        by any attribute, ordering by any of the six metrics (available, capacity,
        usage, inodes, inodes_free, inodes_used), and pagination via offset/limit.
        The response type is ''list'' for the default k8s.persistentvolumeclaim.name
        grouping or ''grouped_list'' for custom groupBy keys; in both modes every
        row aggregates volumes in the group. Also reports whether the requested time
        range falls before the data retention boundary. Numeric metric fields (volumeAvailable,
        volumeCapacity, volumeUsage, volumeInodes, volumeInodesFree, volumeInodesUsed)
        return -1 as a sentinel when no data is available for that field.'
      operationId: ListVolumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableVolumes'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesVolumes'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List Volumes for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/infra_monitoring/statefulsets:
    post:
      deprecated: false
      description: 'Returns a paginated list of Kubernetes StatefulSets with key aggregated
        pod metrics: CPU usage and memory working set summed across pods owned by
        the statefulset, plus average CPU/memory request and limit utilization (statefulSetCPURequest,
        statefulSetCPULimit, statefulSetMemoryRequest, statefulSetMemoryLimit). Each
        row also reports the latest known desiredPods (k8s.statefulset.desired_pods)
        and currentPods (k8s.statefulset.current_pods) replica counts and per-group
        podCountsByStatus ({ pending, running, failed, unknown, crashLoopBackOff,
        imagePullBackOff, errImagePull, createContainerConfigError, containerCreating,
        oomKilled, completed, error, containerCannotRun, evicted, nodeAffinity, nodeLost,
        shutdown, unexpectedAdmissionError } reflecting each pod''s latest kubectl-style
        display status). Each statefulset includes metadata attributes (k8s.statefulset.name,
        k8s.namespace.name, k8s.cluster.name). The response type is ''list'' for the
        default k8s.statefulset.name grouping or ''grouped_list'' for custom groupBy
        keys; in both modes every row aggregates pods owned by statefulsets in the
        group. Supports filtering via a filter expression, custom groupBy, ordering
        by cpu / cpu_request / cpu_limit / memory / memory_request / memory_limit
        / desired_pods / current_pods, and pagination via offset/limit. Also reports
        whether the requested time range falls before the data retention boundary.
        Numeric metric fields (statefulSetCPU, statefulSetCPURequest, statefulSetCPULimit,
        statefulSetMemory, statefulSetMemoryRequest, statefulSetMemoryLimit, desiredPods,
        currentPods) return -1 as a sentinel when no data is available for that field.'
      operationId: ListStatefulSets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InframonitoringtypesPostableStatefulSets'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/InframonitoringtypesStatefulSets'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List StatefulSets for Infra Monitoring
      tags:
      - inframonitoring
  /api/v2/livez:
    get:
      deprecated: false
      description: ""
      operationId: Livez
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FactoryResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Liveness check
      tags:
      - health
  /api/v2/metric_reduction_rules:
    get:
      deprecated: false
      description: Returns active metric volume-control (label reduction) rules.
      operationId: ListMetricReductionRules
      parameters:
      - in: query
        name: orderBy
        schema:
          $ref: '#/components/schemas/MetricreductionruletypesReductionRuleOrderBy'
      - in: query
        name: order
        schema:
          $ref: '#/components/schemas/MetricreductionruletypesOrder'
      - in: query
        name: search
        schema:
          type: string
      - in: query
        name: metricName
        schema:
          type: string
      - in: query
        name: offset
        schema:
          type: integer
      - in: query
        name: limit
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRules'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List metric reduction rules
      tags:
      - metrics
    post:
      deprecated: false
      description: Creates a volume-control rule for a metric and returns it with
        its id; fails if the metric already has a rule.
      operationId: CreateMetricReductionRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricreductionruletypesPostableReductionRule'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create a metric reduction rule
      tags:
      - metrics
  /api/v2/metric_reduction_rules/{id}:
    delete:
      deprecated: false
      description: Deletes a volume-control rule by its id.
      operationId: DeleteMetricReductionRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete a metric reduction rule by id
      tags:
      - metrics
    get:
      deprecated: false
      description: Returns a single volume-control rule by its id.
      operationId: GetMetricReductionRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get a metric reduction rule by id
      tags:
      - metrics
    put:
      deprecated: false
      description: Updates the match type and labels of a volume-control rule by its
        id; the metric name is immutable.
      operationId: UpdateMetricReductionRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricreductionruletypesUpdatableReductionRule'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update a metric reduction rule by id
      tags:
      - metrics
  /api/v2/metric_reduction_rules/preview:
    post:
      deprecated: false
      description: Estimates the series reduction and related-asset impact of a candidate
        volume-control rule without persisting it.
      operationId: PreviewMetricReductionRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricreductionruletypesPostableReductionRulePreview'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRulePreview'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Preview a metric reduction rule
      tags:
      - metrics
  /api/v2/metric_reduction_rules/stats:
    get:
      deprecated: false
      description: Returns total ingested vs retained series and the estimated monthly
        savings across all volume-control rules.
      operationId: GetMetricReductionRuleStats
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricreductionruletypesGettableReductionRuleStats'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Metric reduction stats
      tags:
      - metrics
  /api/v2/metric_reduction_rules/timeseries:
    get:
      deprecated: false
      description: Returns ingested vs retained series over time across all volume-control
        rules (hourly buckets), in the query-range time-series response shape.
      operationId: GetMetricReductionRuleTimeseries
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Querybuildertypesv5QueryRangeResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "451":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unavailable For Legal Reasons
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Metric reduction volume over time
      tags:
      - metrics
  /api/v2/metrics:
    get:
      deprecated: false
      description: This endpoint returns a list of distinct metric names within the
        specified time range
      operationId: ListMetrics
      parameters:
      - in: query
        name: start
        schema:
          nullable: true
          type: integer
      - in: query
        name: end
        schema:
          nullable: true
          type: integer
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: searchText
        schema:
          type: string
      - in: query
        name: source
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesListMetricsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List metric names
      tags:
      - metrics
  /api/v2/metrics/alerts:
    get:
      deprecated: false
      description: This endpoint returns associated alerts for a specified metric
      operationId: GetMetricAlerts
      parameters:
      - description: The name of the metric. May contain slashes (e.g. cloud-provider
          metrics like run.googleapis.com/request_latencies).
        in: query
        name: metricName
        required: true
        schema:
          description: The name of the metric. May contain slashes (e.g. cloud-provider
            metrics like run.googleapis.com/request_latencies).
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricAlertsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metric alerts
      tags:
      - metrics
  /api/v2/metrics/attributes:
    get:
      deprecated: false
      description: This endpoint returns attribute keys and their unique values for
        a specified metric
      operationId: GetMetricAttributes
      parameters:
      - description: The name of the metric. May contain slashes (e.g. cloud-provider
          metrics like run.googleapis.com/request_latencies).
        in: query
        name: metricName
        required: true
        schema:
          description: The name of the metric. May contain slashes (e.g. cloud-provider
            metrics like run.googleapis.com/request_latencies).
          type: string
      - description: Start of the time range as a Unix timestamp in milliseconds.
        in: query
        name: start
        schema:
          description: Start of the time range as a Unix timestamp in milliseconds.
          nullable: true
          type: integer
      - description: End of the time range as a Unix timestamp in milliseconds.
        in: query
        name: end
        schema:
          description: End of the time range as a Unix timestamp in milliseconds.
          nullable: true
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricAttributesResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metric attributes
      tags:
      - metrics
  /api/v2/metrics/dashboards:
    get:
      deprecated: false
      description: This endpoint returns associated dashboards for a specified metric
      operationId: GetMetricDashboards
      parameters:
      - description: The name of the metric. May contain slashes (e.g. cloud-provider
          metrics like run.googleapis.com/request_latencies).
        in: query
        name: metricName
        required: true
        schema:
          description: The name of the metric. May contain slashes (e.g. cloud-provider
            metrics like run.googleapis.com/request_latencies).
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricDashboardsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metric dashboards
      tags:
      - metrics
  /api/v2/metrics/highlights:
    get:
      deprecated: false
      description: This endpoint returns highlights like number of datapoints, totaltimeseries,
        active time series, last received time for a specified metric
      operationId: GetMetricHighlights
      parameters:
      - description: The name of the metric. May contain slashes (e.g. cloud-provider
          metrics like run.googleapis.com/request_latencies).
        in: query
        name: metricName
        required: true
        schema:
          description: The name of the metric. May contain slashes (e.g. cloud-provider
            metrics like run.googleapis.com/request_latencies).
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricHighlightsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metric highlights
      tags:
      - metrics
  /api/v2/metrics/inspect:
    post:
      deprecated: false
      description: Returns raw time series data points for a metric within a time
        range (max 30 minutes). Each series includes labels and timestamp/value pairs.
      operationId: InspectMetrics
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsexplorertypesInspectMetricsRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesInspectMetricsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Inspect raw metric data points
      tags:
      - metrics
  /api/v2/metrics/metadata:
    get:
      deprecated: false
      description: This endpoint returns metadata information like metric description,
        unit, type, temporality, monotonicity for a specified metric
      operationId: GetMetricMetadata
      parameters:
      - description: The name of the metric. May contain slashes (e.g. cloud-provider
          metrics like run.googleapis.com/request_latencies).
        in: query
        name: metricName
        required: true
        schema:
          description: The name of the metric. May contain slashes (e.g. cloud-provider
            metrics like run.googleapis.com/request_latencies).
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricMetadata'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metric metadata
      tags:
      - metrics
    post:
      deprecated: false
      description: This endpoint helps to update metadata information like metric
        description, unit, type, temporality, monotonicity for a specified metric
      operationId: UpdateMetricMetadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsexplorertypesUpdateMetricMetadataRequest'
      responses:
        "200":
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update metric metadata
      tags:
      - metrics
  /api/v2/metrics/onboarding:
    get:
      deprecated: false
      description: Lightweight endpoint that checks if any non-SigNoz metrics have
        been ingested, used for onboarding status detection
      operationId: GetMetricsOnboardingStatus
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricsOnboardingResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Check if non-SigNoz metrics have been received
      tags:
      - metrics
  /api/v2/metrics/stats:
    post:
      deprecated: false
      description: This endpoint provides list of metrics with their number of samples
        and timeseries for the given time range
      operationId: GetMetricsStats
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsexplorertypesStatsRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesStatsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metrics statistics
      tags:
      - metrics
  /api/v2/metrics/treemap:
    post:
      deprecated: false
      description: This endpoint returns a treemap visualization showing the proportional
        distribution of metrics by sample count or time series count
      operationId: GetMetricsTreemap
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsexplorertypesTreemapRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesTreemapResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metrics treemap
      tags:
      - metrics
  /api/v2/orgs/me:
    get:
      deprecated: false
      description: This endpoint returns the organization I belong to
      operationId: GetMyOrganization
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesOrganization'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get my organization
      tags:
      - orgs
    put:
      deprecated: false
      description: This endpoint updates the organization I belong to
      operationId: UpdateMyOrganization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesOrganization'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update my organization
      tags:
      - orgs
  /api/v2/public/dashboards/{id}:
    get:
      deprecated: false
      description: This endpoint returns the sanitized v2-shape dashboard data for
        public access. Each panel query is reduced to a safe field subset, so filters
        and raw query strings are not exposed.
      operationId: GetPublicDashboardDataV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettablePublicDashboardDataV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - anonymous:
        - public-dashboard:read
      summary: Get public dashboard data (v2)
      tags:
      - dashboard
  /api/v2/public/dashboards/{id}/panels/{key}/query_range:
    get:
      deprecated: false
      description: This endpoint returns query range results for a panel of a v2-shape
        public dashboard. The panel is addressed by its key in spec.panels.
      operationId: GetPublicDashboardPanelQueryRangeV2
      parameters:
      - in: query
        name: startTime
        required: false
        schema:
          type: string
      - in: query
        name: endTime
        required: false
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Querybuildertypesv5QueryRangeResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - anonymous:
        - public-dashboard:read
      summary: Get query range result (v2)
      tags:
      - dashboard
  /api/v2/readyz:
    get:
      operationId: Readyz
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FactoryResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "503":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FactoryResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Service Unavailable
      summary: Readiness check
      tags:
      - health
  /api/v2/reset_password_tokens/verify:
    post:
      deprecated: false
      description: This endpoint verifies whether a reset password token exists and
        is not expired
      operationId: VerifyResetPasswordToken
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesPostableVerifyResetPasswordToken'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Verify a reset password token
      tags:
      - users
  /api/v2/roles/{id}/users:
    get:
      deprecated: false
      description: This endpoint returns the users having the role by role id
      operationId: GetUsersByRoleID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/TypesUser'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get users by role id
      tags:
      - users
  /api/v2/rules:
    get:
      deprecated: false
      description: This endpoint lists all alert rules with their current evaluation
        state
      operationId: ListRules
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/RuletypesRule'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: List alert rules
      tags:
      - rules
    post:
      deprecated: false
      description: This endpoint creates a new alert rule
      operationId: CreateRule
      requestBody:
        content:
          application/json:
            examples:
              logs_error_rate_formula:
                description: Two disabled log count queries (A = errors, B = total)
                  combined via a builder_formula into a percentage. Classic service-level
                  error-rate alert pattern for log-based signals.
                summary: Logs error rate error count / total count × 100
                value:
                  alert: Payments-api error log rate above 1%
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: Error log rate in {{$deployment.environment}} is
                      {{$value}}%
                    summary: Payments-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              IN ['ERROR', 'FATAL']
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{deployment.environment}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Error log ratio as a percentage of total logs for payments-api
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              logs_threshold:
                description: Counts matching log records (ERROR severity + body contains)
                  over a rolling window. Fires at least once per evaluation when the
                  count exceeds zero.
                summary: Logs threshold count() over filter
                value:
                  alert: Payments service panic logs
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: '{{$k8s.pod.name}} emitted {{$value}} panic log(s)
                      in {{$deployment.environment}}.'
                    summary: Payments service panic
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              = 'ERROR' AND body CONTAINS 'panic'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        - pagerduty-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 0
                  description: Any panic log line emitted by the payments service
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_anomaly:
                description: Anomaly rules are not yet supported under schemaVersion
                  v2alpha1, so this example uses the v1 shape. Wraps a builder query
                  in the `anomaly` function with daily seasonality SigNoz compares
                  each point against the forecast for that time of day. Fires when
                  the anomaly score stays below the threshold for the entire window;
                  `requireMinPoints` guards against noisy intervals.
                summary: Metric anomaly rule (v1 only)
                value:
                  alert: Anomalous drop in ingested spans
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Ingestion rate for tenant {{$tenant_id}} is anomalously
                      low (z-score {{$value}}).
                    summary: Span ingestion anomaly
                  condition:
                    algorithm: standard
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: otelcol_receiver_accepted_spans
                            spaceAggregation: sum
                            timeAggregation: rate
                          filter:
                            expression: tenant_tier = 'premium'
                          functions:
                          - args:
                            - name: z_score_threshold
                              value: 2
                            name: anomaly
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: tenant_id
                          legend: '{{tenant_id}}'
                          name: A
                          signal: metrics
                          stepInterval: 21600
                        type: builder_query
                      queryType: builder
                    matchType: all_the_times
                    op: below
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    target: 2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evalWindow: 24h
                  frequency: 3h
                  labels:
                    severity: warning
                  preferredChannels:
                  - slack-ingestion
                  ruleType: anomaly_rule
                  version: v5
              metric_promql:
                description: PromQL expression instead of the builder. Dotted OTEL
                  resource attributes are quoted ("deployment.environment"). Useful
                  for queries that combine series with group_right or other Prom operators.
                summary: Metric threshold PromQL rule
                value:
                  alert: Kafka consumer group lag above 1000
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer group {{$group}} is {{$value}} messages
                      behind on {{$topic}}/{{$partition}}.
                    summary: Kafka consumer lag high
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          legend: '{{topic}}/{{partition}} ({{group}})'
                          name: A
                          query: (max by(topic, partition, "deployment.environment")(kafka_log_end_offset)
                            - on(topic, partition, "deployment.environment") group_right
                            max by(group, topic, partition, "deployment.environment")(kafka_consumer_committed_offset))
                            > 0
                        type: promql
                      queryType: promql
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-data-platform
                        - pagerduty-data
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 1000
                  description: Consumer group lag computed via PromQL
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 10m
                      frequency: 1m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - group
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 1h
                  ruleType: promql_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_formula:
                description: Computes disk utilization as (1 - available/capacity)
                  * 100 by combining two disabled base queries with a builder_formula.
                  The formula emits 0–100, so compositeQuery.unit is set to "percent"
                  and the target is a bare number.
                summary: Metric threshold multi-query formula
                value:
                  alert: PersistentVolume above 80% utilization
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Volume {{$k8s.persistentvolumeclaim.name}} in {{$k8s.namespace.name}}
                      is {{$value}}% full.
                    summary: Disk utilization above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.available
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.capacity
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (1 - A/B) * 100
                          legend: '{{k8s.persistentvolumeclaim.name}} ({{k8s.namespace.name}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-storage
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 80
                  description: Disk utilization for a persistent volume is above 80%
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 30m
                      frequency: 5m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - k8s.namespace.name
                    - k8s.persistentvolumeclaim.name
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 2h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_single:
                description: Fires when a pod consumes more than 80% of its requested
                  CPU for the whole evaluation window. Uses `k8s.pod.cpu_request_utilization`.
                summary: Metric threshold single builder query
                value:
                  alert: Pod CPU above 80% of request
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Pod {{$k8s.pod.name}} CPU is at {{$value}} of request
                      in {{$deployment.environment}}.
                    summary: Pod CPU above {{$threshold}} of request
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.pod.cpu_request_utilization
                            spaceAggregation: max
                            timeAggregation: avg
                          filter:
                            expression: k8s.deployment.name = 'api-service'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: percentunit
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-platform
                        - pagerduty-oncall
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 0.8
                  description: CPU usage for api-service pods exceeds 80% of the requested
                    CPU
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 15m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: platform
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              notification_settings:
                description: 'Demonstrates the full notificationSettings surface:
                  `groupBy` merges alerts across labels to cut noise, `newGroupEvalDelay`
                  gives newly-appearing series a grace period before firing, `renotify`
                  re-alerts every 30m while firing OR while the alert is in nodata
                  (missing data is treated as actionable), and `usePolicy: false`
                  means channels come from the threshold entries rather than global
                  routing policies. Set `usePolicy: true` to skip per-threshold channels
                  and route via the org-level notification policy instead.'
                summary: Full notification settings (grouping, nodata renotify, grace
                  period)
                value:
                  alert: API 5xx error rate above 1%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: '{{$service.name}} 5xx rate in {{$deployment.environment}}
                      is {{$value}}%.'
                    summary: API service error rate elevated
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api' AND http.status_code
                              >= 500
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} ({{deployment.environment}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-api-alerts
                        - pagerduty-oncall
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Noise-controlled 5xx error rate alert with renotify
                    on gaps
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: platform
                  notificationSettings:
                    groupBy:
                    - service.name
                    - deployment.environment
                    newGroupEvalDelay: 2m
                    renotify:
                      alertStates:
                      - firing
                      - nodata
                      enabled: true
                      interval: 30m
                    usePolicy: false
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              tiered_thresholds:
                description: Two tiers (warning and critical) in a single rule, each
                  with its own target, op, matchType, and channels so warnings and
                  pages route to different receivers. `alertOnAbsent` + `absentFor`
                  fires a no-data alert when the query returns no series for 15 consecutive
                  evaluations.
                summary: Tiered thresholds with per-tier channels
                value:
                  alert: Kafka consumer lag warn / critical
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer lag for {{$topic}} partition {{$partition}}
                      is {{$value}}.
                    summary: Kafka consumer lag
                  condition:
                    absentFor: 15
                    alertOnAbsent: true
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: kafka_log_end_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: kafka_consumer_committed_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: A - B
                          legend: '{{topic}}/{{partition}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-kafka-info
                        matchType: all_the_times
                        name: warning
                        op: above
                        target: 50
                      - channels:
                        - slack-kafka-alerts
                        - pagerduty-kafka
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 200
                  description: Warn at lag ≥ 50 and page at ≥ 200, tiered via thresholds.spec.
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: data-platform
                  notificationSettings:
                    groupBy:
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_error_rate_formula:
                description: Two disabled trace count queries (A = error spans where
                  hasError=true, B = total spans) combined via a builder_formula into
                  a percentage. Mirrors the common request-error-rate dashboard shape.
                summary: Traces error rate error spans / total spans × 100
                value:
                  alert: Search-api error rate above 5%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: Error rate on {{$service.name}} {{$http.route}} is
                      {{$value}}%
                    summary: Search-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api' AND hasError =
                              true
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} {{http.route}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        - pagerduty-search
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 5
                  description: Request error rate for search-api, grouped by route
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_threshold_latency:
                description: Builder query against the traces signal with p99(duration_nano).
                  The series unit is ns (compositeQuery.unit), the target is in seconds
                  (threshold.targetUnit) SigNoz converts before comparing. Canonical
                  shape when series and target live in different units.
                summary: Traces threshold p99 latency (ns → s conversion)
                value:
                  alert: Search API p99 latency above 5s
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: p99 latency for {{$service.name}} on {{$http.route}}
                      crossed {{$threshold}}s.
                    summary: Search-api latency degraded
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: p99(duration_nano)
                          filter:
                            expression: service.name = 'search-api' AND name = 'GET
                              /api/v1/search'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          legend: '{{service.name}} {{http.route}}'
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: ns
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        matchType: at_least_once
                        name: warning
                        op: above
                        target: 5
                        targetUnit: s
                  description: p99 duration of the search endpoint exceeds 5s
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: warning
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
            schema:
              $ref: '#/components/schemas/RuletypesPostableRule'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Create alert rule
      tags:
      - rules
  /api/v2/rules/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes an alert rule by ID
      operationId: DeleteRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Delete alert rule
      tags:
      - rules
    get:
      deprecated: false
      description: This endpoint returns an alert rule by ID
      operationId: GetRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get alert rule by ID
      tags:
      - rules
    patch:
      deprecated: false
      description: This endpoint applies a partial update to an alert rule by ID
      operationId: PatchRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              logs_error_rate_formula:
                description: Two disabled log count queries (A = errors, B = total)
                  combined via a builder_formula into a percentage. Classic service-level
                  error-rate alert pattern for log-based signals.
                summary: Logs error rate error count / total count × 100
                value:
                  alert: Payments-api error log rate above 1%
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: Error log rate in {{$deployment.environment}} is
                      {{$value}}%
                    summary: Payments-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              IN ['ERROR', 'FATAL']
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{deployment.environment}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Error log ratio as a percentage of total logs for payments-api
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              logs_threshold:
                description: Counts matching log records (ERROR severity + body contains)
                  over a rolling window. Fires at least once per evaluation when the
                  count exceeds zero.
                summary: Logs threshold count() over filter
                value:
                  alert: Payments service panic logs
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: '{{$k8s.pod.name}} emitted {{$value}} panic log(s)
                      in {{$deployment.environment}}.'
                    summary: Payments service panic
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              = 'ERROR' AND body CONTAINS 'panic'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        - pagerduty-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 0
                  description: Any panic log line emitted by the payments service
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_anomaly:
                description: Anomaly rules are not yet supported under schemaVersion
                  v2alpha1, so this example uses the v1 shape. Wraps a builder query
                  in the `anomaly` function with daily seasonality SigNoz compares
                  each point against the forecast for that time of day. Fires when
                  the anomaly score stays below the threshold for the entire window;
                  `requireMinPoints` guards against noisy intervals.
                summary: Metric anomaly rule (v1 only)
                value:
                  alert: Anomalous drop in ingested spans
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Ingestion rate for tenant {{$tenant_id}} is anomalously
                      low (z-score {{$value}}).
                    summary: Span ingestion anomaly
                  condition:
                    algorithm: standard
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: otelcol_receiver_accepted_spans
                            spaceAggregation: sum
                            timeAggregation: rate
                          filter:
                            expression: tenant_tier = 'premium'
                          functions:
                          - args:
                            - name: z_score_threshold
                              value: 2
                            name: anomaly
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: tenant_id
                          legend: '{{tenant_id}}'
                          name: A
                          signal: metrics
                          stepInterval: 21600
                        type: builder_query
                      queryType: builder
                    matchType: all_the_times
                    op: below
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    target: 2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evalWindow: 24h
                  frequency: 3h
                  labels:
                    severity: warning
                  preferredChannels:
                  - slack-ingestion
                  ruleType: anomaly_rule
                  version: v5
              metric_promql:
                description: PromQL expression instead of the builder. Dotted OTEL
                  resource attributes are quoted ("deployment.environment"). Useful
                  for queries that combine series with group_right or other Prom operators.
                summary: Metric threshold PromQL rule
                value:
                  alert: Kafka consumer group lag above 1000
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer group {{$group}} is {{$value}} messages
                      behind on {{$topic}}/{{$partition}}.
                    summary: Kafka consumer lag high
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          legend: '{{topic}}/{{partition}} ({{group}})'
                          name: A
                          query: (max by(topic, partition, "deployment.environment")(kafka_log_end_offset)
                            - on(topic, partition, "deployment.environment") group_right
                            max by(group, topic, partition, "deployment.environment")(kafka_consumer_committed_offset))
                            > 0
                        type: promql
                      queryType: promql
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-data-platform
                        - pagerduty-data
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 1000
                  description: Consumer group lag computed via PromQL
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 10m
                      frequency: 1m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - group
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 1h
                  ruleType: promql_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_formula:
                description: Computes disk utilization as (1 - available/capacity)
                  * 100 by combining two disabled base queries with a builder_formula.
                  The formula emits 0–100, so compositeQuery.unit is set to "percent"
                  and the target is a bare number.
                summary: Metric threshold multi-query formula
                value:
                  alert: PersistentVolume above 80% utilization
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Volume {{$k8s.persistentvolumeclaim.name}} in {{$k8s.namespace.name}}
                      is {{$value}}% full.
                    summary: Disk utilization above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.available
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.capacity
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (1 - A/B) * 100
                          legend: '{{k8s.persistentvolumeclaim.name}} ({{k8s.namespace.name}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-storage
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 80
                  description: Disk utilization for a persistent volume is above 80%
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 30m
                      frequency: 5m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - k8s.namespace.name
                    - k8s.persistentvolumeclaim.name
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 2h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_single:
                description: Fires when a pod consumes more than 80% of its requested
                  CPU for the whole evaluation window. Uses `k8s.pod.cpu_request_utilization`.
                summary: Metric threshold single builder query
                value:
                  alert: Pod CPU above 80% of request
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Pod {{$k8s.pod.name}} CPU is at {{$value}} of request
                      in {{$deployment.environment}}.
                    summary: Pod CPU above {{$threshold}} of request
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.pod.cpu_request_utilization
                            spaceAggregation: max
                            timeAggregation: avg
                          filter:
                            expression: k8s.deployment.name = 'api-service'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: percentunit
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-platform
                        - pagerduty-oncall
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 0.8
                  description: CPU usage for api-service pods exceeds 80% of the requested
                    CPU
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 15m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: platform
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              notification_settings:
                description: 'Demonstrates the full notificationSettings surface:
                  `groupBy` merges alerts across labels to cut noise, `newGroupEvalDelay`
                  gives newly-appearing series a grace period before firing, `renotify`
                  re-alerts every 30m while firing OR while the alert is in nodata
                  (missing data is treated as actionable), and `usePolicy: false`
                  means channels come from the threshold entries rather than global
                  routing policies. Set `usePolicy: true` to skip per-threshold channels
                  and route via the org-level notification policy instead.'
                summary: Full notification settings (grouping, nodata renotify, grace
                  period)
                value:
                  alert: API 5xx error rate above 1%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: '{{$service.name}} 5xx rate in {{$deployment.environment}}
                      is {{$value}}%.'
                    summary: API service error rate elevated
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api' AND http.status_code
                              >= 500
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} ({{deployment.environment}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-api-alerts
                        - pagerduty-oncall
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Noise-controlled 5xx error rate alert with renotify
                    on gaps
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: platform
                  notificationSettings:
                    groupBy:
                    - service.name
                    - deployment.environment
                    newGroupEvalDelay: 2m
                    renotify:
                      alertStates:
                      - firing
                      - nodata
                      enabled: true
                      interval: 30m
                    usePolicy: false
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              tiered_thresholds:
                description: Two tiers (warning and critical) in a single rule, each
                  with its own target, op, matchType, and channels so warnings and
                  pages route to different receivers. `alertOnAbsent` + `absentFor`
                  fires a no-data alert when the query returns no series for 15 consecutive
                  evaluations.
                summary: Tiered thresholds with per-tier channels
                value:
                  alert: Kafka consumer lag warn / critical
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer lag for {{$topic}} partition {{$partition}}
                      is {{$value}}.
                    summary: Kafka consumer lag
                  condition:
                    absentFor: 15
                    alertOnAbsent: true
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: kafka_log_end_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: kafka_consumer_committed_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: A - B
                          legend: '{{topic}}/{{partition}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-kafka-info
                        matchType: all_the_times
                        name: warning
                        op: above
                        target: 50
                      - channels:
                        - slack-kafka-alerts
                        - pagerduty-kafka
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 200
                  description: Warn at lag ≥ 50 and page at ≥ 200, tiered via thresholds.spec.
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: data-platform
                  notificationSettings:
                    groupBy:
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_error_rate_formula:
                description: Two disabled trace count queries (A = error spans where
                  hasError=true, B = total spans) combined via a builder_formula into
                  a percentage. Mirrors the common request-error-rate dashboard shape.
                summary: Traces error rate error spans / total spans × 100
                value:
                  alert: Search-api error rate above 5%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: Error rate on {{$service.name}} {{$http.route}} is
                      {{$value}}%
                    summary: Search-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api' AND hasError =
                              true
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} {{http.route}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        - pagerduty-search
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 5
                  description: Request error rate for search-api, grouped by route
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_threshold_latency:
                description: Builder query against the traces signal with p99(duration_nano).
                  The series unit is ns (compositeQuery.unit), the target is in seconds
                  (threshold.targetUnit) SigNoz converts before comparing. Canonical
                  shape when series and target live in different units.
                summary: Traces threshold p99 latency (ns → s conversion)
                value:
                  alert: Search API p99 latency above 5s
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: p99 latency for {{$service.name}} on {{$http.route}}
                      crossed {{$threshold}}s.
                    summary: Search-api latency degraded
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: p99(duration_nano)
                          filter:
                            expression: service.name = 'search-api' AND name = 'GET
                              /api/v1/search'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          legend: '{{service.name}} {{http.route}}'
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: ns
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        matchType: at_least_once
                        name: warning
                        op: above
                        target: 5
                        targetUnit: s
                  description: p99 duration of the search endpoint exceeds 5s
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: warning
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
            schema:
              $ref: '#/components/schemas/RuletypesPostableRule'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Patch alert rule
      tags:
      - rules
    put:
      deprecated: false
      description: This endpoint updates an alert rule by ID
      operationId: UpdateRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              logs_error_rate_formula:
                description: Two disabled log count queries (A = errors, B = total)
                  combined via a builder_formula into a percentage. Classic service-level
                  error-rate alert pattern for log-based signals.
                summary: Logs error rate error count / total count × 100
                value:
                  alert: Payments-api error log rate above 1%
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: Error log rate in {{$deployment.environment}} is
                      {{$value}}%
                    summary: Payments-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              IN ['ERROR', 'FATAL']
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{deployment.environment}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Error log ratio as a percentage of total logs for payments-api
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              logs_threshold:
                description: Counts matching log records (ERROR severity + body contains)
                  over a rolling window. Fires at least once per evaluation when the
                  count exceeds zero.
                summary: Logs threshold count() over filter
                value:
                  alert: Payments service panic logs
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: '{{$k8s.pod.name}} emitted {{$value}} panic log(s)
                      in {{$deployment.environment}}.'
                    summary: Payments service panic
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              = 'ERROR' AND body CONTAINS 'panic'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        - pagerduty-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 0
                  description: Any panic log line emitted by the payments service
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_anomaly:
                description: Anomaly rules are not yet supported under schemaVersion
                  v2alpha1, so this example uses the v1 shape. Wraps a builder query
                  in the `anomaly` function with daily seasonality SigNoz compares
                  each point against the forecast for that time of day. Fires when
                  the anomaly score stays below the threshold for the entire window;
                  `requireMinPoints` guards against noisy intervals.
                summary: Metric anomaly rule (v1 only)
                value:
                  alert: Anomalous drop in ingested spans
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Ingestion rate for tenant {{$tenant_id}} is anomalously
                      low (z-score {{$value}}).
                    summary: Span ingestion anomaly
                  condition:
                    algorithm: standard
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: otelcol_receiver_accepted_spans
                            spaceAggregation: sum
                            timeAggregation: rate
                          filter:
                            expression: tenant_tier = 'premium'
                          functions:
                          - args:
                            - name: z_score_threshold
                              value: 2
                            name: anomaly
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: tenant_id
                          legend: '{{tenant_id}}'
                          name: A
                          signal: metrics
                          stepInterval: 21600
                        type: builder_query
                      queryType: builder
                    matchType: all_the_times
                    op: below
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    target: 2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evalWindow: 24h
                  frequency: 3h
                  labels:
                    severity: warning
                  preferredChannels:
                  - slack-ingestion
                  ruleType: anomaly_rule
                  version: v5
              metric_promql:
                description: PromQL expression instead of the builder. Dotted OTEL
                  resource attributes are quoted ("deployment.environment"). Useful
                  for queries that combine series with group_right or other Prom operators.
                summary: Metric threshold PromQL rule
                value:
                  alert: Kafka consumer group lag above 1000
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer group {{$group}} is {{$value}} messages
                      behind on {{$topic}}/{{$partition}}.
                    summary: Kafka consumer lag high
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          legend: '{{topic}}/{{partition}} ({{group}})'
                          name: A
                          query: (max by(topic, partition, "deployment.environment")(kafka_log_end_offset)
                            - on(topic, partition, "deployment.environment") group_right
                            max by(group, topic, partition, "deployment.environment")(kafka_consumer_committed_offset))
                            > 0
                        type: promql
                      queryType: promql
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-data-platform
                        - pagerduty-data
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 1000
                  description: Consumer group lag computed via PromQL
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 10m
                      frequency: 1m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - group
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 1h
                  ruleType: promql_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_formula:
                description: Computes disk utilization as (1 - available/capacity)
                  * 100 by combining two disabled base queries with a builder_formula.
                  The formula emits 0–100, so compositeQuery.unit is set to "percent"
                  and the target is a bare number.
                summary: Metric threshold multi-query formula
                value:
                  alert: PersistentVolume above 80% utilization
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Volume {{$k8s.persistentvolumeclaim.name}} in {{$k8s.namespace.name}}
                      is {{$value}}% full.
                    summary: Disk utilization above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.available
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.capacity
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (1 - A/B) * 100
                          legend: '{{k8s.persistentvolumeclaim.name}} ({{k8s.namespace.name}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-storage
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 80
                  description: Disk utilization for a persistent volume is above 80%
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 30m
                      frequency: 5m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - k8s.namespace.name
                    - k8s.persistentvolumeclaim.name
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 2h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_single:
                description: Fires when a pod consumes more than 80% of its requested
                  CPU for the whole evaluation window. Uses `k8s.pod.cpu_request_utilization`.
                summary: Metric threshold single builder query
                value:
                  alert: Pod CPU above 80% of request
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Pod {{$k8s.pod.name}} CPU is at {{$value}} of request
                      in {{$deployment.environment}}.
                    summary: Pod CPU above {{$threshold}} of request
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.pod.cpu_request_utilization
                            spaceAggregation: max
                            timeAggregation: avg
                          filter:
                            expression: k8s.deployment.name = 'api-service'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: percentunit
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-platform
                        - pagerduty-oncall
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 0.8
                  description: CPU usage for api-service pods exceeds 80% of the requested
                    CPU
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 15m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: platform
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              notification_settings:
                description: 'Demonstrates the full notificationSettings surface:
                  `groupBy` merges alerts across labels to cut noise, `newGroupEvalDelay`
                  gives newly-appearing series a grace period before firing, `renotify`
                  re-alerts every 30m while firing OR while the alert is in nodata
                  (missing data is treated as actionable), and `usePolicy: false`
                  means channels come from the threshold entries rather than global
                  routing policies. Set `usePolicy: true` to skip per-threshold channels
                  and route via the org-level notification policy instead.'
                summary: Full notification settings (grouping, nodata renotify, grace
                  period)
                value:
                  alert: API 5xx error rate above 1%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: '{{$service.name}} 5xx rate in {{$deployment.environment}}
                      is {{$value}}%.'
                    summary: API service error rate elevated
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api' AND http.status_code
                              >= 500
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} ({{deployment.environment}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-api-alerts
                        - pagerduty-oncall
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Noise-controlled 5xx error rate alert with renotify
                    on gaps
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: platform
                  notificationSettings:
                    groupBy:
                    - service.name
                    - deployment.environment
                    newGroupEvalDelay: 2m
                    renotify:
                      alertStates:
                      - firing
                      - nodata
                      enabled: true
                      interval: 30m
                    usePolicy: false
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              tiered_thresholds:
                description: Two tiers (warning and critical) in a single rule, each
                  with its own target, op, matchType, and channels so warnings and
                  pages route to different receivers. `alertOnAbsent` + `absentFor`
                  fires a no-data alert when the query returns no series for 15 consecutive
                  evaluations.
                summary: Tiered thresholds with per-tier channels
                value:
                  alert: Kafka consumer lag warn / critical
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer lag for {{$topic}} partition {{$partition}}
                      is {{$value}}.
                    summary: Kafka consumer lag
                  condition:
                    absentFor: 15
                    alertOnAbsent: true
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: kafka_log_end_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: kafka_consumer_committed_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: A - B
                          legend: '{{topic}}/{{partition}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-kafka-info
                        matchType: all_the_times
                        name: warning
                        op: above
                        target: 50
                      - channels:
                        - slack-kafka-alerts
                        - pagerduty-kafka
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 200
                  description: Warn at lag ≥ 50 and page at ≥ 200, tiered via thresholds.spec.
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: data-platform
                  notificationSettings:
                    groupBy:
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_error_rate_formula:
                description: Two disabled trace count queries (A = error spans where
                  hasError=true, B = total spans) combined via a builder_formula into
                  a percentage. Mirrors the common request-error-rate dashboard shape.
                summary: Traces error rate error spans / total spans × 100
                value:
                  alert: Search-api error rate above 5%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: Error rate on {{$service.name}} {{$http.route}} is
                      {{$value}}%
                    summary: Search-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api' AND hasError =
                              true
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} {{http.route}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        - pagerduty-search
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 5
                  description: Request error rate for search-api, grouped by route
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_threshold_latency:
                description: Builder query against the traces signal with p99(duration_nano).
                  The series unit is ns (compositeQuery.unit), the target is in seconds
                  (threshold.targetUnit) SigNoz converts before comparing. Canonical
                  shape when series and target live in different units.
                summary: Traces threshold p99 latency (ns → s conversion)
                value:
                  alert: Search API p99 latency above 5s
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: p99 latency for {{$service.name}} on {{$http.route}}
                      crossed {{$threshold}}s.
                    summary: Search-api latency degraded
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: p99(duration_nano)
                          filter:
                            expression: service.name = 'search-api' AND name = 'GET
                              /api/v1/search'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          legend: '{{service.name}} {{http.route}}'
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: ns
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        matchType: at_least_once
                        name: warning
                        op: above
                        target: 5
                        targetUnit: s
                  description: p99 duration of the search endpoint exceeds 5s
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: warning
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
            schema:
              $ref: '#/components/schemas/RuletypesPostableRule'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update alert rule
      tags:
      - rules
  /api/v2/rules/{id}/history/filter_keys:
    get:
      deprecated: false
      description: Returns distinct label keys from rule history entries for the selected
        range.
      operationId: GetRuleHistoryFilterKeys
      parameters:
      - in: query
        name: signal
        schema:
          $ref: '#/components/schemas/TelemetrytypesSignal'
      - in: query
        name: source
        schema:
          $ref: '#/components/schemas/TelemetrytypesSource'
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: startUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: endUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: fieldContext
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
      - in: query
        name: fieldDataType
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
      - in: query
        name: metricName
        schema:
          type: string
      - in: query
        name: metricNamespace
        schema:
          type: string
      - in: query
        name: searchText
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TelemetrytypesGettableFieldKeys'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get rule history filter keys
      tags:
      - rules
  /api/v2/rules/{id}/history/filter_values:
    get:
      deprecated: false
      description: Returns distinct label values for a given key from rule history
        entries.
      operationId: GetRuleHistoryFilterValues
      parameters:
      - in: query
        name: signal
        schema:
          $ref: '#/components/schemas/TelemetrytypesSignal'
      - in: query
        name: source
        schema:
          $ref: '#/components/schemas/TelemetrytypesSource'
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: startUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: endUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: fieldContext
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
      - in: query
        name: fieldDataType
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
      - in: query
        name: metricName
        schema:
          type: string
      - in: query
        name: metricNamespace
        schema:
          type: string
      - in: query
        name: searchText
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: existingQuery
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TelemetrytypesGettableFieldValues'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get rule history filter values
      tags:
      - rules
  /api/v2/rules/{id}/history/overall_status:
    get:
      deprecated: false
      description: Returns overall firing/inactive intervals for a rule in the selected
        time range.
      operationId: GetRuleHistoryOverallStatus
      parameters:
      - in: query
        name: start
        required: true
        schema:
          format: int64
          type: integer
      - in: query
        name: end
        required: true
        schema:
          format: int64
          type: integer
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/RulestatehistorytypesGettableRuleStateWindow'
                    nullable: true
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get rule overall status timeline
      tags:
      - rules
  /api/v2/rules/{id}/history/stats:
    get:
      deprecated: false
      description: Returns trigger and resolution statistics for a rule in the selected
        time range.
      operationId: GetRuleHistoryStats
      parameters:
      - in: query
        name: start
        required: true
        schema:
          format: int64
          type: integer
      - in: query
        name: end
        required: true
        schema:
          format: int64
          type: integer
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RulestatehistorytypesGettableRuleStateHistoryStats'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get rule history stats
      tags:
      - rules
  /api/v2/rules/{id}/history/timeline:
    get:
      deprecated: false
      description: Returns paginated timeline entries for rule state transitions.
      operationId: GetRuleHistoryTimeline
      parameters:
      - in: query
        name: start
        required: true
        schema:
          format: int64
          type: integer
      - in: query
        name: end
        required: true
        schema:
          format: int64
          type: integer
      - in: query
        name: state
        schema:
          $ref: '#/components/schemas/RuletypesAlertState'
      - in: query
        name: filterExpression
        schema:
          type: string
      - in: query
        name: limit
        schema:
          format: int64
          type: integer
      - in: query
        name: order
        schema:
          $ref: '#/components/schemas/Querybuildertypesv5OrderDirection'
      - in: query
        name: cursor
        schema:
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RulestatehistorytypesGettableRuleStateTimeline'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get rule history timeline
      tags:
      - rules
  /api/v2/rules/{id}/history/top_contributors:
    get:
      deprecated: false
      description: Returns top label combinations contributing to rule firing in the
        selected time range.
      operationId: GetRuleHistoryTopContributors
      parameters:
      - in: query
        name: start
        required: true
        schema:
          format: int64
          type: integer
      - in: query
        name: end
        required: true
        schema:
          format: int64
          type: integer
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/RulestatehistorytypesGettableRuleStateHistoryContributor'
                    nullable: true
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get top contributors to rule firing
      tags:
      - rules
  /api/v2/rules/test:
    post:
      deprecated: false
      description: This endpoint fires a test notification for the given rule definition
      operationId: TestRule
      requestBody:
        content:
          application/json:
            examples:
              logs_error_rate_formula:
                description: Two disabled log count queries (A = errors, B = total)
                  combined via a builder_formula into a percentage. Classic service-level
                  error-rate alert pattern for log-based signals.
                summary: Logs error rate error count / total count × 100
                value:
                  alert: Payments-api error log rate above 1%
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: Error log rate in {{$deployment.environment}} is
                      {{$value}}%
                    summary: Payments-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              IN ['ERROR', 'FATAL']
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'payments-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{deployment.environment}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Error log ratio as a percentage of total logs for payments-api
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              logs_threshold:
                description: Counts matching log records (ERROR severity + body contains)
                  over a rolling window. Fires at least once per evaluation when the
                  count exceeds zero.
                summary: Logs threshold count() over filter
                value:
                  alert: Payments service panic logs
                  alertType: LOGS_BASED_ALERT
                  annotations:
                    description: '{{$k8s.pod.name}} emitted {{$value}} panic log(s)
                      in {{$deployment.environment}}.'
                    summary: Payments service panic
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          filter:
                            expression: service.name = 'payments-api' AND severity_text
                              = 'ERROR' AND body CONTAINS 'panic'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: logs
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-payments
                        - pagerduty-payments
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 0
                  description: Any panic log line emitted by the payments service
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: payments
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_anomaly:
                description: Anomaly rules are not yet supported under schemaVersion
                  v2alpha1, so this example uses the v1 shape. Wraps a builder query
                  in the `anomaly` function with daily seasonality SigNoz compares
                  each point against the forecast for that time of day. Fires when
                  the anomaly score stays below the threshold for the entire window;
                  `requireMinPoints` guards against noisy intervals.
                summary: Metric anomaly rule (v1 only)
                value:
                  alert: Anomalous drop in ingested spans
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Ingestion rate for tenant {{$tenant_id}} is anomalously
                      low (z-score {{$value}}).
                    summary: Span ingestion anomaly
                  condition:
                    algorithm: standard
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: otelcol_receiver_accepted_spans
                            spaceAggregation: sum
                            timeAggregation: rate
                          filter:
                            expression: tenant_tier = 'premium'
                          functions:
                          - args:
                            - name: z_score_threshold
                              value: 2
                            name: anomaly
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: tenant_id
                          legend: '{{tenant_id}}'
                          name: A
                          signal: metrics
                          stepInterval: 21600
                        type: builder_query
                      queryType: builder
                    matchType: all_the_times
                    op: below
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    target: 2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evalWindow: 24h
                  frequency: 3h
                  labels:
                    severity: warning
                  preferredChannels:
                  - slack-ingestion
                  ruleType: anomaly_rule
                  version: v5
              metric_promql:
                description: PromQL expression instead of the builder. Dotted OTEL
                  resource attributes are quoted ("deployment.environment"). Useful
                  for queries that combine series with group_right or other Prom operators.
                summary: Metric threshold PromQL rule
                value:
                  alert: Kafka consumer group lag above 1000
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer group {{$group}} is {{$value}} messages
                      behind on {{$topic}}/{{$partition}}.
                    summary: Kafka consumer lag high
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          legend: '{{topic}}/{{partition}} ({{group}})'
                          name: A
                          query: (max by(topic, partition, "deployment.environment")(kafka_log_end_offset)
                            - on(topic, partition, "deployment.environment") group_right
                            max by(group, topic, partition, "deployment.environment")(kafka_consumer_committed_offset))
                            > 0
                        type: promql
                      queryType: promql
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-data-platform
                        - pagerduty-data
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 1000
                  description: Consumer group lag computed via PromQL
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 10m
                      frequency: 1m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - group
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 1h
                  ruleType: promql_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_formula:
                description: Computes disk utilization as (1 - available/capacity)
                  * 100 by combining two disabled base queries with a builder_formula.
                  The formula emits 0–100, so compositeQuery.unit is set to "percent"
                  and the target is a bare number.
                summary: Metric threshold multi-query formula
                value:
                  alert: PersistentVolume above 80% utilization
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Volume {{$k8s.persistentvolumeclaim.name}} in {{$k8s.namespace.name}}
                      is {{$value}}% full.
                    summary: Disk utilization above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.available
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: k8s.volume.capacity
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: k8s.volume.type = 'persistentVolumeClaim'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.persistentvolumeclaim.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.namespace.name
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (1 - A/B) * 100
                          legend: '{{k8s.persistentvolumeclaim.name}} ({{k8s.namespace.name}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-storage
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 80
                  description: Disk utilization for a persistent volume is above 80%
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 30m
                      frequency: 5m
                  labels:
                    severity: critical
                  notificationSettings:
                    groupBy:
                    - k8s.namespace.name
                    - k8s.persistentvolumeclaim.name
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 2h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              metric_threshold_single:
                description: Fires when a pod consumes more than 80% of its requested
                  CPU for the whole evaluation window. Uses `k8s.pod.cpu_request_utilization`.
                summary: Metric threshold single builder query
                value:
                  alert: Pod CPU above 80% of request
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Pod {{$k8s.pod.name}} CPU is at {{$value}} of request
                      in {{$deployment.environment}}.
                    summary: Pod CPU above {{$threshold}} of request
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: k8s.pod.cpu_request_utilization
                            spaceAggregation: max
                            timeAggregation: avg
                          filter:
                            expression: k8s.deployment.name = 'api-service'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: k8s.pod.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          legend: '{{k8s.pod.name}} ({{deployment.environment}})'
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: percentunit
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-platform
                        - pagerduty-oncall
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 0.8
                  description: CPU usage for api-service pods exceeds 80% of the requested
                    CPU
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 15m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: platform
                  notificationSettings:
                    groupBy:
                    - k8s.pod.name
                    - deployment.environment
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              notification_settings:
                description: 'Demonstrates the full notificationSettings surface:
                  `groupBy` merges alerts across labels to cut noise, `newGroupEvalDelay`
                  gives newly-appearing series a grace period before firing, `renotify`
                  re-alerts every 30m while firing OR while the alert is in nodata
                  (missing data is treated as actionable), and `usePolicy: false`
                  means channels come from the threshold entries rather than global
                  routing policies. Set `usePolicy: true` to skip per-threshold channels
                  and route via the org-level notification policy instead.'
                summary: Full notification settings (grouping, nodata renotify, grace
                  period)
                value:
                  alert: API 5xx error rate above 1%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: '{{$service.name}} 5xx rate in {{$deployment.environment}}
                      is {{$value}}%.'
                    summary: API service error rate elevated
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api' AND http.status_code
                              >= 500
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name CONTAINS 'api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: resource
                            fieldDataType: string
                            name: deployment.environment
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} ({{deployment.environment}})'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-api-alerts
                        - pagerduty-oncall
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 1
                  description: Noise-controlled 5xx error rate alert with renotify
                    on gaps
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: platform
                  notificationSettings:
                    groupBy:
                    - service.name
                    - deployment.environment
                    newGroupEvalDelay: 2m
                    renotify:
                      alertStates:
                      - firing
                      - nodata
                      enabled: true
                      interval: 30m
                    usePolicy: false
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              tiered_thresholds:
                description: Two tiers (warning and critical) in a single rule, each
                  with its own target, op, matchType, and channels so warnings and
                  pages route to different receivers. `alertOnAbsent` + `absentFor`
                  fires a no-data alert when the query returns no series for 15 consecutive
                  evaluations.
                summary: Tiered thresholds with per-tier channels
                value:
                  alert: Kafka consumer lag warn / critical
                  alertType: METRIC_BASED_ALERT
                  annotations:
                    description: Consumer lag for {{$topic}} partition {{$partition}}
                      is {{$value}}.
                    summary: Kafka consumer lag
                  condition:
                    absentFor: 15
                    alertOnAbsent: true
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - metricName: kafka_log_end_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: A
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - metricName: kafka_consumer_committed_offset
                            spaceAggregation: max
                            timeAggregation: max
                          disabled: true
                          filter:
                            expression: topic != '__consumer_offsets'
                          groupBy:
                          - fieldContext: attribute
                            fieldDataType: string
                            name: topic
                          - fieldContext: attribute
                            fieldDataType: string
                            name: partition
                          name: B
                          signal: metrics
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: A - B
                          legend: '{{topic}}/{{partition}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-kafka-info
                        matchType: all_the_times
                        name: warning
                        op: above
                        target: 50
                      - channels:
                        - slack-kafka-alerts
                        - pagerduty-kafka
                        matchType: all_the_times
                        name: critical
                        op: above
                        target: 200
                  description: Warn at lag ≥ 50 and page at ≥ 200, tiered via thresholds.spec.
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    team: data-platform
                  notificationSettings:
                    groupBy:
                    - topic
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_error_rate_formula:
                description: Two disabled trace count queries (A = error spans where
                  hasError=true, B = total spans) combined via a builder_formula into
                  a percentage. Mirrors the common request-error-rate dashboard shape.
                summary: Traces error rate error spans / total spans × 100
                value:
                  alert: Search-api error rate above 5%
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: Error rate on {{$service.name}} {{$http.route}} is
                      {{$value}}%
                    summary: Search-api error rate above {{$threshold}}%
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api' AND hasError =
                              true
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          aggregations:
                          - expression: count()
                          disabled: true
                          filter:
                            expression: service.name = 'search-api'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          name: B
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      - spec:
                          expression: (A / B) * 100
                          legend: '{{service.name}} {{http.route}}'
                          name: F1
                        type: builder_formula
                      queryType: builder
                      unit: percent
                    selectedQueryName: F1
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        - pagerduty-search
                        matchType: at_least_once
                        name: critical
                        op: above
                        target: 5
                  description: Request error rate for search-api, grouped by route
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: critical
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 15m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
              traces_threshold_latency:
                description: Builder query against the traces signal with p99(duration_nano).
                  The series unit is ns (compositeQuery.unit), the target is in seconds
                  (threshold.targetUnit) SigNoz converts before comparing. Canonical
                  shape when series and target live in different units.
                summary: Traces threshold p99 latency (ns → s conversion)
                value:
                  alert: Search API p99 latency above 5s
                  alertType: TRACES_BASED_ALERT
                  annotations:
                    description: p99 latency for {{$service.name}} on {{$http.route}}
                      crossed {{$threshold}}s.
                    summary: Search-api latency degraded
                  condition:
                    compositeQuery:
                      panelType: graph
                      queries:
                      - spec:
                          aggregations:
                          - expression: p99(duration_nano)
                          filter:
                            expression: service.name = 'search-api' AND name = 'GET
                              /api/v1/search'
                          groupBy:
                          - fieldContext: resource
                            fieldDataType: string
                            name: service.name
                          - fieldContext: attribute
                            fieldDataType: string
                            name: http.route
                          legend: '{{service.name}} {{http.route}}'
                          name: A
                          signal: traces
                          stepInterval: 60
                        type: builder_query
                      queryType: builder
                      unit: ns
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-search
                        matchType: at_least_once
                        name: warning
                        op: above
                        target: 5
                        targetUnit: s
                  description: p99 duration of the search endpoint exceeds 5s
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 5m
                      frequency: 1m
                  labels:
                    severity: warning
                    team: search
                  notificationSettings:
                    groupBy:
                    - service.name
                    - http.route
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 30m
                  ruleType: threshold_rule
                  schemaVersion: v2alpha1
                  version: v5
            schema:
              $ref: '#/components/schemas/RuletypesPostableRule'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesGettableTestRule'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Test alert rule
      tags:
      - rules
  /api/v2/saved_views:
    get:
      deprecated: false
      description: Returns saved views, optionally filtered by source and name.
      operationId: ListSavedViews
      parameters:
      - in: query
        name: source
        schema:
          $ref: '#/components/schemas/SavedviewtypesSource'
      - in: query
        name: name
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/SavedviewtypesSavedView'
                    nullable: true
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - saved-view:list
      - tokenizer:
        - saved-view:list
      summary: List saved views
      tags:
      - saved_view
    post:
      deprecated: false
      description: Persists a saved view for the explore page. Returns the id of the
        created view.
      operationId: CreateSavedView
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SavedviewtypesPostableSavedView'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - saved-view:create
      - tokenizer:
        - saved-view:create
      summary: Create saved view
      tags:
      - saved_view
  /api/v2/saved_views/{id}:
    delete:
      deprecated: false
      description: Deletes a saved view by id.
      operationId: DeleteSavedView
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - saved-view:delete
      - tokenizer:
        - saved-view:delete
      summary: Delete saved view
      tags:
      - saved_view
    get:
      deprecated: false
      description: Returns a saved view by id.
      operationId: GetSavedView
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SavedviewtypesSavedView'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - saved-view:read
      - tokenizer:
        - saved-view:read
      summary: Get saved view
      tags:
      - saved_view
    put:
      deprecated: false
      description: Replaces a saved view's name and query.
      operationId: UpdateSavedView
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SavedviewtypesUpdatableSavedView'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - saved-view:update
      - tokenizer:
        - saved-view:update
      summary: Update saved view
      tags:
      - saved_view
  /api/v2/sessions:
    delete:
      deprecated: false
      description: This endpoint deletes the session
      operationId: DeleteSession
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - tokenizer: []
      summary: Delete session
      tags:
      - sessions
  /api/v2/sessions/context:
    get:
      deprecated: false
      description: This endpoint returns the context for the session
      operationId: GetSessionContext
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesSessionContext'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Get session context
      tags:
      - sessions
  /api/v2/sessions/email_password:
    post:
      deprecated: false
      description: This endpoint creates a session for a user using email and password.
      operationId: CreateSessionByEmailPassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesPostableEmailPasswordSession'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesGettableToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Create session by email and password
      tags:
      - sessions
  /api/v2/sessions/rotate:
    post:
      deprecated: false
      description: This endpoint rotates the session
      operationId: RotateSession
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesPostableRotateToken'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesGettableToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      summary: Rotate session
      tags:
      - sessions
  /api/v2/user_roles:
    post:
      deprecated: false
      description: This endpoint assigns a role to a user
      operationId: CreateUserRole
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesPostableUserRole'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create user role
      tags:
      - users
  /api/v2/user_roles/{id}:
    delete:
      deprecated: false
      description: This endpoint revokes a role from a user
      operationId: DeleteUserRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete user role
      tags:
      - users
    get:
      deprecated: false
      description: This endpoint gets an existing user role
      operationId: GetUserRole
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesUserRole'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get user role
      tags:
      - users
  /api/v2/users:
    get:
      deprecated: false
      description: This endpoint lists all users for the organization
      operationId: ListUsers
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/TypesUser'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: List users v2
      tags:
      - users
    post:
      deprecated: false
      description: This endpoint creates a user for the organization
      operationId: CreateUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthtypesPostableUser'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesIdentifiable'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create user
      tags:
      - users
  /api/v2/users/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes the user by id
      operationId: DeleteUser
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Delete user
      tags:
      - users
    get:
      deprecated: false
      description: This endpoint returns the user by id
      operationId: GetUser
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesUserWithRoles'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get user by user id
      tags:
      - users
    put:
      deprecated: false
      description: This endpoint updates the user by id
      operationId: UpdateUser
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesUpdatableUser'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Update user v2
      tags:
      - users
  /api/v2/users/{id}/reset_password_tokens:
    get:
      deprecated: false
      description: This endpoint returns the existing reset password token for a user.
      operationId: GetResetPasswordToken
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesResetPasswordToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get reset password token for a user
      tags:
      - users
    put:
      deprecated: false
      description: This endpoint creates or regenerates a reset password token for
        a user. If a valid token exists, it is returned. If expired, a new one is
        created.
      operationId: CreateResetPasswordToken
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TypesResetPasswordToken'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Create or regenerate reset password token for a user
      tags:
      - users
  /api/v2/users/{id}/roles:
    get:
      deprecated: false
      description: This endpoint returns the user roles by user id
      operationId: GetRolesByUserID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AuthtypesRole'
                    type: array
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Get user roles
      tags:
      - users
  /api/v2/users/me:
    get:
      deprecated: false
      description: This endpoint returns the user I belong to
      operationId: GetMyUser
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AuthtypesUserWithRoles'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - tokenizer: []
      summary: Get my user v2
      tags:
      - users
    put:
      deprecated: false
      description: This endpoint updates the user I belong to
      operationId: UpdateMyUserV2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesUpdatableUser'
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - tokenizer: []
      summary: Update my user v2
      tags:
      - users
  /api/v2/users/me/dashboards:
    get:
      deprecated: false
      description: 'Same as ListDashboardsV2 but personalized for the calling user:
        each dashboard carries the caller''s `pinned` state, and pinned dashboards
        float to the top of the requested ordering. Supports the same filter DSL,
        sort, order, and pagination.'
      operationId: ListDashboardsForUserV2
      parameters:
      - in: query
        name: query
        schema:
          type: string
      - in: query
        name: sort
        schema:
          $ref: '#/components/schemas/DashboardtypesListSort'
      - in: query
        name: order
        schema:
          $ref: '#/components/schemas/DashboardtypesListOrder'
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: offset
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesListableDashboardForUserV2'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: List dashboards for the current user (v2)
      tags:
      - dashboard
  /api/v2/users/me/dashboards/{id}/pins:
    delete:
      deprecated: false
      description: Removes the pin for the calling user. Idempotent — unpinning a
        dashboard that wasn't pinned still returns 204.
      operationId: UnpinDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: Unpin a dashboard for the current user (v2)
      tags:
      - dashboard
    put:
      deprecated: false
      description: Pins the dashboard for the calling user. A user can pin at most
        10 dashboards; pinning when at the limit returns 409. Re-pinning an already-pinned
        dashboard is a no-op success.
      operationId: PinDashboardV2
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: Pin a dashboard for the current user (v2)
      tags:
      - dashboard
  /api/v2/users/me/factor_password:
    put:
      deprecated: false
      description: This endpoint updates the password of the user I belong to
      operationId: UpdateMyPassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypesChangePasswordRequest'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Updates my password
      tags:
      - users
  /api/v2/zeus/hosts:
    get:
      deprecated: false
      description: This endpoint gets the host info from zeus.
      operationId: GetHosts
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ZeustypesGettableHost'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get host info from Zeus.
      tags:
      - zeus
    put:
      deprecated: false
      description: This endpoint saves the host of a deployment to zeus.
      operationId: PutHost
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZeustypesPostableHost'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Put host in Zeus for a deployment.
      tags:
      - zeus
  /api/v2/zeus/profiles:
    put:
      deprecated: false
      description: This endpoint saves the profile of a deployment to zeus.
      operationId: PutProfile
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZeustypesPostableProfile'
      responses:
        "204":
          description: No Content
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - ADMIN
      - tokenizer:
        - ADMIN
      summary: Put profile in Zeus for a deployment.
      tags:
      - zeus
  /api/v3/metrics/dashboards:
    get:
      deprecated: false
      description: This endpoint returns associated v2 dashboards for a specified
        metric
      operationId: GetMetricDashboardsV2
      parameters:
      - description: The name of the metric. May contain slashes (e.g. cloud-provider
          metrics like run.googleapis.com/request_latencies).
        in: query
        name: metricName
        required: true
        schema:
          description: The name of the metric. May contain slashes (e.g. cloud-provider
            metrics like run.googleapis.com/request_latencies).
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MetricsexplorertypesMetricDashboardPanelsResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get metric dashboards (v2)
      tags:
      - metrics
  /api/v3/traces/{traceID}/flamegraph:
    post:
      deprecated: false
      description: Returns the flamegraph view of spans for a given trace ID.
      operationId: GetFlamegraph
      parameters:
      - in: path
        name: traceID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesPostableFlamegraph'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableFlamegraphTrace'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get flamegraph view for a trace
      tags:
      - tracedetail
  /api/v4/traces/{traceID}/waterfall:
    post:
      deprecated: false
      description: Returns the waterfall view of spans including all spans if total
        spans are under a limit, a max count otherwise. Aggregations are dropped compared
        to v3
      operationId: GetWaterfallV4
      parameters:
      - in: path
        name: traceID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpantypesPostableWaterfall'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableWaterfallTrace'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Get waterfall view for a trace
      tags:
      - tracedetail
  /api/v5/query_range:
    post:
      deprecated: false
      description: Execute a composite query over a time range. Supports builder queries
        (traces, logs, metrics), formulas, trace operators, PromQL, and ClickHouse
        SQL.
      operationId: QueryRangeV5
      requestBody:
        content:
          application/json:
            examples:
              clickhouse_sql_logs_raw:
                summary: 'ClickHouse SQL: raw logs with resource filter'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        name: recent_errors
                        query: WITH __resource_filter AS ( SELECT fingerprint FROM
                          signoz_logs.distributed_logs_v2_resource WHERE seen_at_ts_bucket_start
                          >= $start_timestamp - 1800 AND seen_at_ts_bucket_start <=
                          $end_timestamp ) SELECT timestamp, body FROM signoz_logs.distributed_logs_v2
                          WHERE resource_fingerprint GLOBAL IN (SELECT fingerprint
                          FROM __resource_filter) AND timestamp >= $start_timestamp_nano
                          AND timestamp <= $end_timestamp_nano AND ts_bucket_start
                          >= $start_timestamp - 1800 AND ts_bucket_start <= $end_timestamp
                          AND severity_text = 'ERROR' ORDER BY timestamp DESC LIMIT
                          100
                      type: clickhouse_sql
                  end: 1640998800000
                  requestType: raw
                  schemaVersion: v1
                  start: 1640995200000
              clickhouse_sql_traces_scalar:
                summary: 'ClickHouse SQL: scalar aggregate with resource filter'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        name: total_spans
                        query: WITH __resource_filter AS ( SELECT fingerprint FROM
                          signoz_traces.distributed_traces_v3_resource WHERE seen_at_ts_bucket_start
                          >= $start_timestamp - 1800 AND seen_at_ts_bucket_start <=
                          $end_timestamp ) SELECT count() AS value FROM signoz_traces.distributed_signoz_index_v3
                          WHERE resource_fingerprint GLOBAL IN (SELECT fingerprint
                          FROM __resource_filter) AND timestamp >= $start_datetime
                          AND timestamp <= $end_datetime AND ts_bucket_start >= $start_timestamp
                          - 1800 AND ts_bucket_start <= $end_timestamp
                      type: clickhouse_sql
                  end: 1640998800000
                  requestType: scalar
                  schemaVersion: v1
                  start: 1640995200000
              clickhouse_sql_traces_time_series:
                summary: 'ClickHouse SQL: traces time series with resource filter'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        name: span_rate
                        query: WITH __resource_filter AS ( SELECT fingerprint FROM
                          signoz_traces.distributed_traces_v3_resource WHERE seen_at_ts_bucket_start
                          >= $start_timestamp - 1800 AND seen_at_ts_bucket_start <=
                          $end_timestamp ) SELECT toStartOfInterval(timestamp, INTERVAL
                          60 SECOND) AS ts, count() AS value FROM signoz_traces.distributed_signoz_index_v3
                          WHERE resource_fingerprint GLOBAL IN (SELECT fingerprint
                          FROM __resource_filter) AND timestamp >= $start_datetime
                          AND timestamp <= $end_datetime AND ts_bucket_start >= $start_timestamp
                          - 1800 AND ts_bucket_start <= $end_timestamp GROUP BY ts
                          ORDER BY ts
                      type: clickhouse_sql
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              formula:
                summary: 'Formula: error rate from two trace queries'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - expression: countIf(has_error = true)
                        groupBy:
                        - fieldContext: resource
                          name: service.name
                        name: A
                        signal: traces
                        stepInterval: 60s
                      type: builder_query
                    - spec:
                        aggregations:
                        - expression: count()
                        groupBy:
                        - fieldContext: resource
                          name: service.name
                        name: B
                        signal: traces
                        stepInterval: 60s
                      type: builder_query
                    - spec:
                        expression: A / B * 100
                        name: error_rate
                      type: builder_formula
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              logs_raw:
                summary: 'Raw: fetch raw log records'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        filter:
                          expression: severity_text = 'ERROR'
                        limit: 50
                        name: A
                        offset: 0
                        order:
                        - direction: desc
                          key:
                            fieldContext: log
                            name: timestamp
                        - direction: desc
                          key:
                            name: id
                        selectFields:
                        - fieldContext: log
                          name: body
                        - fieldContext: resource
                          name: service.name
                        signal: logs
                      type: builder_query
                  end: 1640998800000
                  requestType: raw
                  schemaVersion: v1
                  start: 1640995200000
              logs_scalar:
                summary: 'Scalar: total error log count'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - alias: error_count
                          expression: count()
                        filter:
                          expression: severity_text = 'ERROR'
                        name: A
                        signal: logs
                      type: builder_query
                  end: 1640998800000
                  requestType: scalar
                  schemaVersion: v1
                  start: 1640995200000
              logs_time_series:
                summary: 'Time series: count error logs grouped by service'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - alias: log_count
                          expression: count()
                        filter:
                          expression: severity_text = 'ERROR'
                        groupBy:
                        - fieldContext: resource
                          name: service.name
                        limit: 10
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: log_count
                        signal: logs
                        stepInterval: 60s
                      type: builder_query
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              metrics_gauge_time_series:
                summary: 'Time series: latest gauge value averaged across series'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - metricName: system.cpu.utilization
                          spaceAggregation: avg
                          timeAggregation: latest
                        groupBy:
                        - fieldContext: resource
                          name: host.name
                        name: A
                        signal: metrics
                        stepInterval: 60s
                      type: builder_query
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              metrics_histogram_time_series:
                summary: 'Time series: p99 latency from histogram'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - metricName: http.server.duration.bucket
                          spaceAggregation: p99
                        groupBy:
                        - fieldContext: resource
                          name: service.name
                        name: A
                        signal: metrics
                        stepInterval: 60s
                      type: builder_query
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              metrics_rate_time_series:
                summary: 'Time series: rate of cumulative counter'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - metricName: http.server.duration.count
                          spaceAggregation: sum
                          timeAggregation: rate
                        groupBy:
                        - fieldContext: resource
                          name: service.name
                        name: A
                        signal: metrics
                        stepInterval: 120
                      type: builder_query
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              metrics_scalar:
                summary: 'Scalar: single reduced metric value'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - metricName: http.server.duration.count
                          reduceTo: sum
                          spaceAggregation: sum
                          timeAggregation: rate
                        name: A
                        signal: metrics
                        stepInterval: 60s
                      type: builder_query
                  end: 1640998800000
                  requestType: scalar
                  schemaVersion: v1
                  start: 1640995200000
              promql:
                summary: 'PromQL: request rate with UTF-8 metric name'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        name: request_rate
                        query: sum(rate({"http.server.duration.count"}[5m])) by ("service.name")
                        step: 60
                      type: promql
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              traces_raw:
                summary: 'Raw: fetch raw span records'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        filter:
                          expression: service.name = 'frontend' AND has_error = true
                        limit: 100
                        name: A
                        order:
                        - direction: desc
                          key:
                            fieldContext: span
                            name: timestamp
                        selectFields:
                        - fieldContext: span
                          name: name
                        - fieldContext: span
                          name: duration_nano
                        signal: traces
                      type: builder_query
                  end: 1640998800000
                  requestType: raw
                  schemaVersion: v1
                  start: 1640995200000
              traces_scalar:
                summary: 'Scalar: total span count'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - alias: span_count
                          expression: count()
                        filter:
                          expression: service.name = 'frontend'
                        name: A
                        signal: traces
                      type: builder_query
                  end: 1640998800000
                  requestType: scalar
                  schemaVersion: v1
                  start: 1640995200000
              traces_time_series:
                summary: 'Time series: count spans grouped by service'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - alias: span_count
                          expression: count()
                        filter:
                          expression: service.name = 'frontend'
                        groupBy:
                        - fieldContext: resource
                          name: service.name
                        limit: 10
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: span_count
                        signal: traces
                        stepInterval: 60s
                      type: builder_query
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
            schema:
              $ref: '#/components/schemas/Querybuildertypesv5QueryRangeRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Querybuildertypesv5QueryRangeResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - logs:read
        - traces:read
        - metrics:read
        - audit-logs:read
        - meter-metrics:read
      - tokenizer:
        - logs:read
        - traces:read
        - metrics:read
        - audit-logs:read
        - meter-metrics:read
      summary: Query range
      tags:
      - querier
  /api/v5/query_range/preview:
    post:
      deprecated: false
      description: 'Validate a composite query without executing it. Accepts the same
        payload as the query range endpoint. By default (verbose=true) returns, for
        each query, the rendered underlying ClickHouse statement(s) with each statement''s
        EXPLAIN ESTIMATE (per-table parts/rows/marks) and granule index analysis (candidate/surviving
        granules and the per-index pruning funnel). Pass ?verbose=false for the lightweight
        per-query verdict (valid/error/warnings) with no rendered SQL and no ClickHouse
        round trips. Intended for agentic/dry-run consumption: per-query errors are
        reported in the response rather than failing the whole request.'
      operationId: QueryRangePreviewV5
      parameters:
      - in: query
        name: verbose
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Querybuildertypesv5QueryRangeRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Querybuildertypesv5QueryRangePreviewResponse'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - logs:read
        - traces:read
        - metrics:read
        - audit-logs:read
        - meter-metrics:read
      - tokenizer:
        - logs:read
        - traces:read
        - metrics:read
        - audit-logs:read
        - meter-metrics:read
      summary: Query range preview
      tags:
      - querier
  /api/v5/substitute_vars:
    post:
      deprecated: false
      description: Replace variables in a query
      operationId: ReplaceVariables
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Querybuildertypesv5QueryRangeRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Querybuildertypesv5QueryRangeRequest'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - VIEWER
      - tokenizer:
        - VIEWER
      summary: Replace variables
      tags:
      - querier
servers:
- description: The fully qualified URL to the SigNoz APIServer.
  url: https://{host}:{port}{base_path}
  variables:
    base_path:
      default: /
      description: The base path of the SigNoz APIServer
    host:
      default: localhost
      description: The host of the SigNoz APIServer
    port:
      default: "8080"
      description: The port of the SigNoz APIServer