components:
  schemas:
    AiobservabilitytypesBlobPart:
      properties:
        content:
          type: string
        mime_type:
          nullable: true
          type: string
        modality:
          type: string
        type:
          type: string
      required:
      - type
      - modality
      - content
      type: object
    AiobservabilitytypesChatMessage:
      properties:
        name:
          nullable: true
          type: string
        parts:
          $ref: '#/components/schemas/AiobservabilitytypesParts'
        role:
          type: string
      required:
      - role
      - parts
      type: object
    AiobservabilitytypesCompactionPart:
      properties:
        content:
          nullable: true
          type: string
        id:
          nullable: true
          type: string
        type:
          type: string
      required:
      - type
      type: object
    AiobservabilitytypesFilePart:
      properties:
        file_id:
          type: string
        mime_type:
          nullable: true
          type: string
        modality:
          type: string
        type:
          type: string
      required:
      - type
      - modality
      - file_id
      type: object
    AiobservabilitytypesGenericPart:
      additionalProperties: {}
      type: object
    AiobservabilitytypesGenericServerToolCall:
      additionalProperties: {}
      type: object
    AiobservabilitytypesGenericServerToolCallResponse:
      additionalProperties: {}
      type: object
    AiobservabilitytypesInputMessages:
      items:
        $ref: '#/components/schemas/AiobservabilitytypesChatMessage'
      type: array
    AiobservabilitytypesOutputMessage:
      properties:
        finish_reason:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        parts:
          $ref: '#/components/schemas/AiobservabilitytypesParts'
        role:
          type: string
      required:
      - role
      - parts
      type: object
    AiobservabilitytypesOutputMessages:
      items:
        $ref: '#/components/schemas/AiobservabilitytypesOutputMessage'
      type: array
    AiobservabilitytypesPart:
      discriminator:
        mapping:
          blob: '#/components/schemas/AiobservabilitytypesBlobPart'
          compaction: '#/components/schemas/AiobservabilitytypesCompactionPart'
          file: '#/components/schemas/AiobservabilitytypesFilePart'
          reasoning: '#/components/schemas/AiobservabilitytypesReasoningPart'
          server_tool_call: '#/components/schemas/AiobservabilitytypesServerToolCallPart'
          server_tool_call_response: '#/components/schemas/AiobservabilitytypesServerToolCallResponsePart'
          text: '#/components/schemas/AiobservabilitytypesTextPart'
          tool_call: '#/components/schemas/AiobservabilitytypesToolCallRequestPart'
          tool_call_response: '#/components/schemas/AiobservabilitytypesToolCallResponsePart'
          uri: '#/components/schemas/AiobservabilitytypesUriPart'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AiobservabilitytypesTextPart'
      - $ref: '#/components/schemas/AiobservabilitytypesToolCallRequestPart'
      - $ref: '#/components/schemas/AiobservabilitytypesToolCallResponsePart'
      - $ref: '#/components/schemas/AiobservabilitytypesServerToolCallPart'
      - $ref: '#/components/schemas/AiobservabilitytypesServerToolCallResponsePart'
      - $ref: '#/components/schemas/AiobservabilitytypesBlobPart'
      - $ref: '#/components/schemas/AiobservabilitytypesFilePart'
      - $ref: '#/components/schemas/AiobservabilitytypesUriPart'
      - $ref: '#/components/schemas/AiobservabilitytypesReasoningPart'
      - $ref: '#/components/schemas/AiobservabilitytypesCompactionPart'
      - $ref: '#/components/schemas/AiobservabilitytypesGenericPart'
      type: object
    AiobservabilitytypesParts:
      items:
        $ref: '#/components/schemas/AiobservabilitytypesPart'
      type: array
    AiobservabilitytypesReasoningPart:
      properties:
        content:
          type: string
        type:
          type: string
      required:
      - type
      - content
      type: object
    AiobservabilitytypesServerToolCallPart:
      properties:
        id:
          nullable: true
          type: string
        name:
          type: string
        server_tool_call:
          $ref: '#/components/schemas/AiobservabilitytypesGenericServerToolCall'
        type:
          type: string
      required:
      - type
      - name
      - server_tool_call
      type: object
    AiobservabilitytypesServerToolCallResponsePart:
      properties:
        id:
          nullable: true
          type: string
        server_tool_call_response:
          $ref: '#/components/schemas/AiobservabilitytypesGenericServerToolCallResponse'
        type:
          type: string
      required:
      - type
      - server_tool_call_response
      type: object
    AiobservabilitytypesTextPart:
      properties:
        content:
          type: string
        type:
          type: string
      required:
      - type
      - content
      type: object
    AiobservabilitytypesToolCallRequestPart:
      properties:
        arguments: {}
        id:
          nullable: true
          type: string
        name:
          type: string
        type:
          type: string
      required:
      - type
      - name
      type: object
    AiobservabilitytypesToolCallResponsePart:
      properties:
        id:
          nullable: true
          type: string
        response:
          nullable: true
        type:
          type: string
      required:
      - type
      - response
      type: object
    AiobservabilitytypesUriPart:
      properties:
        mime_type:
          nullable: true
          type: string
        modality:
          type: string
        type:
          type: string
        uri:
          type: string
      required:
      - type
      - modality
      - uri
      type: object
    AlertmanagertypesChannel:
      properties:
        createdAt:
          format: date-time
          type: string
        data:
          description: The channel configuration as a JSON document.
          type: string
        id:
          type: string
        name:
          description: The channel name. Alert rules and routing policies reference
            it.
          type: string
        orgId:
          description: The organization the channel belongs to.
          type: string
        type:
          description: The channel kind, such as slack.
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - type
      - data
      - orgId
      type: object
    AlertmanagertypesChannelConfig:
      discriminator:
        mapping:
          email: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelEmailConfig'
          googlechat: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelGoogleChatConfig'
          incidentio: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelIncidentIOConfig'
          jira: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelJiraConfig'
          jsmops: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelJSMOpsConfig'
          msteams: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelMSTeamsConfig'
          opsgenie: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelOpsgenieConfig'
          pagerduty: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelPagerdutyConfig'
          slack: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelSlackConfig'
          telegram: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelTelegramConfig'
          webhook: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelWebhookConfig'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelSlackConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelEmailConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelWebhookConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelPagerdutyConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelOpsgenieConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelMSTeamsConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelGoogleChatConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelJiraConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelJSMOpsConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelIncidentIOConfig'
      - $ref: '#/components/schemas/AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelTelegramConfig'
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelEmailConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - email
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelEmailConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelGoogleChatConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - googlechat
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelGoogleChatConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelIncidentIOConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - incidentio
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelIncidentIOConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelJSMOpsConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - jsmops
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelJSMOpsConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelJiraConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - jira
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelJiraConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelMSTeamsConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - msteams
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelMSTeamsConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelOpsgenieConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - opsgenie
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelOpsgenieConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelPagerdutyConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - pagerduty
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelPagerdutyConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelSlackConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - slack
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelSlackConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelTelegramConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - telegram
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelTelegramConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelConfigVariantGithubComSigNozSignozPkgTypesAlertmanagertypesChannelWebhookConfig:
      properties:
        kind:
          description: The channel provider kind this variant accepts.
          enum:
          - webhook
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelWebhookConfig'
          description: The provider-specific configuration for this kind.
      required:
      - kind
      - spec
      type: object
    AlertmanagertypesChannelDefect:
      enum:
      - none
      - missing_type
      - multiple_notifiers
      - unsupported_notifier
      - unrepresentable
      type: string
    AlertmanagertypesChannelEmailConfig:
      properties:
        headers:
          additionalProperties:
            type: string
          description: Extra SMTP headers keyed by canonical MIME header name, such
            as Subject.
          nullable: true
          type: object
        html:
          description: Alertmanager template for the HTML body; defaults to the Alertmanager
            email default.
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to false.
          nullable: true
          type: boolean
        to:
          description: The recipient addresses, comma separated.
          type: string
      required:
      - to
      type: object
    AlertmanagertypesChannelGoogleChatConfig:
      properties:
        sendResolved:
          description: Also notify when the alert resolves. Defaults to false.
          nullable: true
          type: boolean
        text:
          description: Alertmanager template for the message body; defaults to the
            SigNoz Google Chat default.
          type: string
        title:
          description: Alertmanager template for the message title; defaults to the
            SigNoz Google Chat default.
          type: string
        webhookUrl:
          description: The Google Chat space webhook URL. A secret; returned by create,
            update and fetch by ID, never by list.
          format: password
          type: string
      required:
      - webhookUrl
      type: object
    AlertmanagertypesChannelIncidentIOConfig:
      properties:
        description:
          description: Alertmanager template for the alert description, rendered as
            markdown; defaults to the SigNoz incident.io default.
          type: string
        metadata:
          additionalProperties:
            type: string
          description: Extra event metadata keyed by name, merged over the group's
            common labels; values are Alertmanager templates.
          nullable: true
          type: object
        sendResolved:
          description: Also notify when the alert resolves. Defaults to false.
          nullable: true
          type: boolean
        title:
          description: Alertmanager template for the alert title; defaults to the
            SigNoz incident.io default.
          type: string
        token:
          description: The alert source secret token, without the Bearer prefix. A
            secret; returned by create, update and fetch by ID, never by list.
          format: password
          type: string
        url:
          description: The alert source HTTP alert events endpoint copied from its
            setup page.
          type: string
      required:
      - url
      - token
      type: object
    AlertmanagertypesChannelJSMOpsConfig:
      properties:
        apiKey:
          description: The JSM Ops integration API key. A secret; returned by create,
            update and fetch by ID, never by list.
          format: password
          type: string
        description:
          description: Alertmanager template for the alert description; defaults to
            the SigNoz JSM Ops default.
          type: string
        message:
          description: Alertmanager template for the alert message; defaults to the
            SigNoz JSM Ops default.
          type: string
        priority:
          description: The alert priority, P1 to P5.
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to false.
          nullable: true
          type: boolean
        tags:
          description: Comma-separated tags attached to the alert; defaults to signoz.
          type: string
      required:
      - apiKey
      type: object
    AlertmanagertypesChannelJiraConfig:
      properties:
        apiToken:
          description: The Atlassian API token paired with email. A secret; returned
            by create, update and fetch by ID, never by list.
          format: password
          type: string
        customFields:
          additionalProperties: {}
          description: Extra issue fields keyed by Jira field ID. Stored, but not
            currently included in the issue Jira receives.
          nullable: true
          type: object
        description:
          description: Alertmanager template for the issue description, rendered as
            markdown; defaults to the SigNoz Jira default.
          type: string
        email:
          description: The Atlassian account email used for basic auth.
          type: string
        issueType:
          description: The issue type name, such as Bug.
          type: string
        labels:
          description: Labels added to every issue.
          items:
            type: string
          nullable: true
          type: array
        priority:
          description: The priority name assigned to new issues.
          type: string
        project:
          description: The key of the project issues are created in.
          type: string
        reopenDuration:
          description: How long after resolution a firing alert reopens the issue
            instead of creating a new one, as a Prometheus duration in canonical form
            such as 3d; defaults to 3d.
          type: string
        reopenTransition:
          description: The transition applied when an alert fires again on a resolved
            issue.
          type: string
        resolveTransition:
          description: The transition applied to the issue when the alert resolves.
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to false.
          nullable: true
          type: boolean
        site:
          description: The base URL of the Jira Cloud site, for example https://example.atlassian.net.
            Only Jira Cloud is supported.
          type: string
        summary:
          description: Alertmanager template for the issue summary; defaults to the
            SigNoz Jira default.
          type: string
        wontFixResolution:
          description: The resolution name that stops an issue from being reopened.
          type: string
      required:
      - site
      - project
      - issueType
      - email
      - apiToken
      type: object
    AlertmanagertypesChannelKind:
      enum:
      - slack
      - email
      - webhook
      - pagerduty
      - opsgenie
      - msteams
      - googlechat
      - jira
      - jsmops
      - incidentio
      - telegram
      type: string
    AlertmanagertypesChannelListOrder:
      enum:
      - asc
      - desc
      type: string
    AlertmanagertypesChannelListSort:
      enum:
      - updated_at
      - created_at
      - name
      type: string
    AlertmanagertypesChannelMSTeamsConfig:
      properties:
        sendResolved:
          description: Also notify when the alert resolves. Defaults to true.
          nullable: true
          type: boolean
        text:
          description: Alertmanager template for the card body; defaults to the Alertmanager
            Teams default.
          type: string
        title:
          description: Alertmanager template for the card title; defaults to the Alertmanager
            Teams default.
          type: string
        webhookUrl:
          description: The Teams incoming webhook URL. A secret; returned by create,
            update and fetch by ID, never by list.
          format: password
          type: string
      required:
      - webhookUrl
      type: object
    AlertmanagertypesChannelOpsgenieConfig:
      properties:
        apiKey:
          description: The Opsgenie API integration key. A secret; returned by create,
            update and fetch by ID, never by list.
          format: password
          type: string
        apiUrl:
          description: The Opsgenie API host; empty uses the global Alertmanager default.
          type: string
        description:
          description: Alertmanager template for the alert description; defaults to
            the Alertmanager Opsgenie default.
          type: string
        details:
          additionalProperties:
            type: string
          description: Custom alert details keyed by name, each an Alertmanager template.
          nullable: true
          type: object
        message:
          description: Alertmanager template for the alert message; defaults to the
            Alertmanager Opsgenie default.
          type: string
        priority:
          description: The alert priority, P1 to P5.
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to true.
          nullable: true
          type: boolean
        source:
          description: Alertmanager template for the alert source; defaults to the
            Alertmanager Opsgenie default.
          type: string
      required:
      - apiKey
      type: object
    AlertmanagertypesChannelPagerdutyConfig:
      properties:
        class:
          description: The class or type of the event.
          type: string
        client:
          description: Alertmanager template for the client identifier; defaults to
            the Alertmanager PagerDuty default.
          type: string
        clientUrl:
          description: Alertmanager template for the client URL; defaults to the Alertmanager
            PagerDuty default.
          type: string
        component:
          description: The component of the source machine that is responsible for
            the event.
          type: string
        description:
          description: Alertmanager template for the incident summary; defaults to
            the Alertmanager PagerDuty default.
          type: string
        details:
          additionalProperties:
            type: string
          description: Custom details keyed by name, each an Alertmanager template;
            defaults to the Alertmanager firing and resolved summary set.
          nullable: true
          type: object
        group:
          description: The logical grouping of components the event belongs to.
          type: string
        routingKey:
          description: The Events API v2 integration key. A secret; returned by create,
            update and fetch by ID, never by list.
          format: password
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to true.
          nullable: true
          type: boolean
        severity:
          description: 'The incident severity: critical, error, warning or info.'
          type: string
        source:
          description: Alertmanager template for the unique location of the affected
            system; defaults to client.
          type: string
        url:
          description: The Events API endpoint; empty uses the PagerDuty default.
          type: string
      required:
      - routingKey
      type: object
    AlertmanagertypesChannelRepair:
      properties:
        action:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelRepairAction'
          description: 'The repair that makes the channel readable: none, retype,
            split or delete.'
        applied:
          description: Whether the action was written; false on a dry run.
          type: boolean
        blockers:
          description: Why the action was not, or would not be, applied.
          items:
            type: string
          type: array
        channels:
          description: The channels that exist once the action is applied.
          items:
            $ref: '#/components/schemas/AlertmanagertypesListedNotificationChannel'
          nullable: true
          type: array
        defect:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelDefect'
          description: Why v2 cannot read the channel; none when it is readable.
        detail:
          description: A human-readable explanation of the defect.
          type: string
        id:
          description: The UUID of the diagnosed channel.
          type: string
      required:
      - id
      - defect
      - action
      - applied
      type: object
    AlertmanagertypesChannelRepairAction:
      enum:
      - none
      - retype
      - split
      - delete
      type: string
    AlertmanagertypesChannelSlackAction:
      properties:
        confirm:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelSlackConfirmation'
          description: A confirmation dialog shown before the action runs.
        name:
          description: The action name Slack posts back for a message button; required
            unless url is set.
          type: string
        style:
          description: 'The button style: default, primary or danger.'
          type: string
        text:
          description: The button label.
          type: string
        type:
          description: The Slack action type, normally button.
          type: string
        url:
          description: The link the button opens; required unless name is set.
          type: string
        value:
          description: The value Slack posts back with a message button.
          type: string
      required:
      - type
      - text
      type: object
    AlertmanagertypesChannelSlackConfig:
      properties:
        actions:
          description: Attachment buttons; each requires type and text plus url or
            name.
          items:
            $ref: '#/components/schemas/AlertmanagertypesChannelSlackAction'
          nullable: true
          type: array
        apiUrl:
          description: The Slack incoming webhook URL. A secret; returned by create,
            update and fetch by ID, never by list.
          format: password
          type: string
        channel:
          description: 'The channel or user to post to, such as #alerts; empty uses
            the webhook default.'
          type: string
        color:
          description: Alertmanager template for the attachment color; defaults to
            the Alertmanager Slack default.
          type: string
        fallback:
          description: Alertmanager template for the plain-text summary shown where
            attachments cannot render; defaults to the Alertmanager Slack default.
          type: string
        fields:
          description: Attachment fields appended to the message; each requires title
            and value.
          items:
            $ref: '#/components/schemas/AlertmanagertypesChannelSlackField'
          nullable: true
          type: array
        footer:
          description: Alertmanager template for the attachment footer; defaults to
            the Alertmanager Slack default.
          type: string
        pretext:
          description: Alertmanager template for the text shown above the attachment;
            defaults to the Alertmanager Slack default.
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to false.
          nullable: true
          type: boolean
        text:
          description: Alertmanager template for the message body; defaults to the
            Alertmanager Slack default.
          type: string
        title:
          description: Alertmanager template for the message title; defaults to the
            Alertmanager Slack default.
          type: string
        titleLink:
          description: Alertmanager template for the link the title opens; defaults
            to the Alertmanager Slack default.
          type: string
      required:
      - apiUrl
      type: object
    AlertmanagertypesChannelSlackConfirmation:
      properties:
        dismissText:
          description: The label of the cancel button.
          type: string
        okText:
          description: The label of the confirm button.
          type: string
        text:
          description: The dialog body.
          type: string
        title:
          description: The dialog title.
          type: string
      required:
      - text
      type: object
    AlertmanagertypesChannelSlackField:
      properties:
        short:
          description: Render the field side by side with other short fields.
          nullable: true
          type: boolean
        title:
          description: The field title.
          type: string
        value:
          description: The field value; an Alertmanager template.
          type: string
      required:
      - title
      - value
      type: object
    AlertmanagertypesChannelTelegramConfig:
      properties:
        apiUrl:
          type: string
        botToken:
          format: password
          type: string
        chatId:
          format: int64
          type: integer
        disableNotifications:
          type: boolean
        message:
          type: string
        messageThreadId:
          type: integer
        sendResolved:
          nullable: true
          type: boolean
        title:
          type: string
      required:
      - botToken
      - chatId
      type: object
    AlertmanagertypesChannelWebhookConfig:
      properties:
        bearerToken:
          description: The bearer token sent in the Authorization header; cannot be
            combined with username or password.
          format: password
          type: string
        password:
          description: The basic auth password; cannot be combined with bearerToken.
          format: password
          type: string
        sendResolved:
          description: Also notify when the alert resolves. Defaults to true.
          nullable: true
          type: boolean
        url:
          description: The endpoint that receives the Alertmanager webhook payload.
            A secret; returned by create, update and fetch by ID, never by list.
          format: password
          type: string
        username:
          description: The basic auth user; cannot be combined with bearerToken.
          type: string
      required:
      - url
      type: object
    AlertmanagertypesDeprecatedGettableAlert:
      properties:
        annotations:
          $ref: '#/components/schemas/ModelLabelSet'
        endsAt:
          format: date-time
          type: string
        fingerprint:
          description: The alert fingerprint, a hash of its label set.
          type: string
        generatorURL:
          type: string
        labels:
          $ref: '#/components/schemas/ModelLabelSet'
        receivers:
          description: The display names of the channels the alert is routed to.
          items:
            type: string
          nullable: true
          type: array
        startsAt:
          format: date-time
          type: string
        status:
          allOf:
          - $ref: '#/components/schemas/TypesAlertStatus'
          description: The alert state and the silences and inhibitions suppressing
            it.
      type: object
    AlertmanagertypesExpressionKind:
      enum:
      - rule
      - policy
      type: string
    AlertmanagertypesGettableNotificationChannel:
      properties:
        config:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelConfig'
          description: The provider kind and spec, credentials included.
        createdAt:
          description: When the channel was created, as an RFC 3339 timestamp.
          format: date-time
          type: string
        displayName:
          description: The label shown in the UI. Alert rules and routing policies
            reference it, not name.
          type: string
        id:
          description: The channel UUID.
          type: string
        name:
          description: The immutable DNS-1123 identifier of the channel. Alert rules
            and routing policies reference displayName, not name.
          type: string
        updatedAt:
          description: When the channel was last updated, as an RFC 3339 timestamp.
          format: date-time
          type: string
      required:
      - name
      - displayName
      - config
      - id
      - createdAt
      - updatedAt
      type: object
    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:
          allOf:
          - $ref: '#/components/schemas/ConfigHTTPClientConfig'
          description: HTTP client settings for the webhook call.
        send_resolved:
          type: boolean
        text:
          description: Alertmanager template for the message body.
          type: string
        title:
          description: Alertmanager template for the message title.
          type: string
        webhook_url:
          allOf:
          - $ref: '#/components/schemas/ConfigSecretURL'
          description: The Google Chat space webhook URL.
      type: object
    AlertmanagertypesIncidentIOReceiverConfig:
      properties:
        description:
          description: Alertmanager template for the alert description.
          type: string
        http_config:
          allOf:
          - $ref: '#/components/schemas/ConfigHTTPClientConfig'
          description: HTTP client settings for the API call.
        metadata:
          additionalProperties:
            type: string
          description: Extra event metadata keyed by name, merged over the group's
            common labels; values are Alertmanager templates.
          type: object
        send_resolved:
          type: boolean
        title:
          description: Alertmanager template for the alert title.
          type: string
        token:
          description: The alert source secret token, without the Bearer prefix.
          type: string
        url:
          description: The alert source HTTP alert events endpoint.
          type: string
      type: object
    AlertmanagertypesJSMOpsReceiverConfig:
      properties:
        api_key:
          description: The JSM Ops integration API key.
          type: string
        description:
          description: Alertmanager template for the alert description.
          type: string
        http_config:
          allOf:
          - $ref: '#/components/schemas/ConfigHTTPClientConfig'
          description: HTTP client settings for the API call.
        message:
          description: Alertmanager template for the alert message.
          type: string
        priority:
          description: The alert priority, P1 to P5.
          type: string
        send_resolved:
          type: boolean
        tags:
          description: Comma-separated tags attached to the alert.
          type: string
      type: object
    AlertmanagertypesJiraReceiverConfig:
      properties:
        custom_fields:
          additionalProperties: {}
          description: Extra issue fields keyed by Jira field ID. Stored, but not
            currently included in the issue Jira receives.
          type: object
        description:
          description: Alertmanager template for the issue description.
          type: string
        http_config:
          allOf:
          - $ref: '#/components/schemas/ConfigHTTPClientConfig'
          description: HTTP client settings; basic auth carries the account email
            and API token.
        issue_type:
          description: The issue type name.
          type: string
        labels:
          description: Labels added to every issue.
          items:
            type: string
          type: array
        priority:
          description: The priority name assigned to new issues.
          type: string
        project:
          description: The key of the project issues are created in.
          type: string
        reopen_duration:
          allOf:
          - $ref: '#/components/schemas/ModelDuration'
          description: How long after resolution a firing alert reopens the issue;
            a Prometheus duration, at least 1m.
        reopen_transition:
          description: The transition applied when an alert fires again on a resolved
            issue.
          type: string
        resolve_transition:
          description: The transition applied when the alert resolves.
          type: string
        send_resolved:
          type: boolean
        site:
          description: The Jira Cloud base URL.
          type: string
        summary:
          description: Alertmanager template for the issue summary.
          type: string
        wont_fix_resolution:
          description: The resolution name that stops an issue from being reopened.
          type: string
      type: object
    AlertmanagertypesListableNotificationChannel:
      properties:
        channels:
          description: The channels on this page, without their configuration; fetch
            a channel by ID for that.
          items:
            $ref: '#/components/schemas/AlertmanagertypesListedNotificationChannel'
          type: array
        total:
          description: The number of channels the filter matches across all pages.
          format: int64
          type: integer
      required:
      - channels
      - total
      type: object
    AlertmanagertypesListedNotificationChannel:
      properties:
        createdAt:
          description: When the channel was created, as an RFC 3339 timestamp.
          format: date-time
          type: string
        displayName:
          description: The label shown in the UI. Alert rules and routing policies
            reference it, not name.
          type: string
        id:
          description: The channel UUID.
          type: string
        kind:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelKind'
          description: The channel provider kind.
        name:
          description: The immutable DNS-1123 identifier of the channel. Alert rules
            and routing policies reference displayName, not name.
          type: string
        updatedAt:
          description: When the channel was last updated, as an RFC 3339 timestamp.
          format: date-time
          type: string
      required:
      - id
      - name
      - displayName
      - kind
      - createdAt
      - updatedAt
      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:
        - jira_configs
      - required:
        - jsmops_configs
      - required:
        - incidentio_configs
      - required:
        - telegram_configs
      - required:
        - discord_configs
      - required:
        - email_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:
        - webex_configs
      - required:
        - msteams_configs
      - required:
        - msteamsv2_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/AlertmanagertypesIncidentIOReceiverConfig'
          type: array
        jira_configs:
          items:
            $ref: '#/components/schemas/AlertmanagertypesJiraReceiverConfig'
          type: array
        jsmops_configs:
          items:
            $ref: '#/components/schemas/AlertmanagertypesJSMOpsReceiverConfig'
          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/AlertmanagertypesTelegramReceiverConfig'
          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
    AlertmanagertypesPostableNotificationChannel:
      properties:
        config:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelConfig'
          description: The provider kind and its spec.
        displayName:
          description: The label shown in the UI. Alert rules and routing policies
            reference it, not name. Defaults to name; required when generateName is
            true.
          type: string
        generateName:
          description: Derive name from displayName plus a random suffix instead of
            supplying it. Defaults to false.
          type: boolean
        name:
          description: The immutable DNS-1123 identifier of the channel (lowercase
            letters, digits and hyphens, at most 63 characters). Required unless generateName
            is true, in which case it must be empty. Alert rules and routing policies
            reference displayName, not name.
          type: string
      required:
      - config
      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/AlertmanagertypesIncidentIOReceiverConfig'
          type: array
        jira_configs:
          items:
            $ref: '#/components/schemas/AlertmanagertypesJiraReceiverConfig'
          type: array
        jsmops_configs:
          items:
            $ref: '#/components/schemas/AlertmanagertypesJSMOpsReceiverConfig'
          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/AlertmanagertypesTelegramReceiverConfig'
          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
    AlertmanagertypesRepairChannelParams:
      properties:
        apply:
          description: Apply the diagnosed action; defaults to false, a dry run that
            only reports it.
          type: boolean
      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
    AlertmanagertypesTelegramReceiverConfig:
      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
        title:
          type: string
        token:
          type: string
        token_file:
          type: string
      type: object
    AlertmanagertypesTestableNotificationChannel:
      properties:
        config:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelConfig'
          description: The replacement provider kind and spec. Name and displayName
            are immutable and not part of the body.
      required:
      - config
      type: object
    AlertmanagertypesUpdatableNotificationChannel:
      properties:
        config:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelConfig'
          description: The replacement provider kind and spec. Name and displayName
            are immutable and not part of the body.
      required:
      - config
      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:
          allOf:
          - $ref: '#/components/schemas/AuthtypesAuthNProvider'
          description: The kind of authn provider.
        spec:
          allOf:
          - $ref: '#/components/schemas/AuthtypesGoogleConfig'
          description: The google auth configuration.
      required:
      - kind
      - spec
      type: object
    AuthtypesAuthDomainConfigOIDC:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/AuthtypesAuthNProvider'
          description: The kind of authn provider.
        spec:
          allOf:
          - $ref: '#/components/schemas/AuthtypesOIDCConfig'
          description: The oidc configuration.
      required:
      - kind
      - spec
      type: object
    AuthtypesAuthDomainConfigSAML:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/AuthtypesAuthNProvider'
          description: The kind of authn provider.
        spec:
          allOf:
          - $ref: '#/components/schemas/AuthtypesSamlConfig'
          description: The saml configuration.
      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:
        cliCommand:
          type: string
      required:
      - cliCommand
      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
        syncState:
          $ref: '#/components/schemas/CloudintegrationtypesSyncState'
        timestampMillis:
          format: int64
          type: integer
      required:
      - timestampMillis
      - data
      - syncState
      type: object
    CloudintegrationtypesAzureAccountConfig:
      properties:
        deploymentRegion:
          type: string
        resourceGroups:
          items:
            type: string
          type: array
      required:
      - deploymentRegion
      - resourceGroups
      type: object
    CloudintegrationtypesAzureConnectionArtifact:
      properties:
        cliCommand:
          type: string
      required:
      - cliCommand
      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:
        connectionMethod:
          $ref: '#/components/schemas/CloudintegrationtypesGCPConnectionMethod'
        deploymentProjectId:
          type: string
        deploymentRegion:
          type: string
        projectIds:
          items:
            type: string
          type: array
      required:
      - connectionMethod
      - deploymentProjectId
      - deploymentRegion
      - projectIds
      type: object
    CloudintegrationtypesGCPConnectionArtifact:
      properties:
        cliCommand:
          type: string
      required:
      - cliCommand
      type: object
    CloudintegrationtypesGCPConnectionMethod:
      enum:
      - manual
      - agent
      type: string
    CloudintegrationtypesGCPIntegrationConfig:
      properties:
        connectionMethod:
          $ref: '#/components/schemas/CloudintegrationtypesGCPConnectionMethod'
        deploymentProjectId:
          type: string
        deploymentRegion:
          type: string
        projectIds:
          items:
            type: string
          type: array
        telemetryCollectionStrategy:
          $ref: '#/components/schemas/CloudintegrationtypesGCPTelemetryCollectionStrategy'
      required:
      - connectionMethod
      - deploymentProjectId
      - deploymentRegion
      - projectIds
      - telemetryCollectionStrategy
      type: object
    CloudintegrationtypesGCPLogsCollectionStrategy:
      nullable: true
      properties:
        sinkFilter:
          type: string
      required:
      - sinkFilter
      type: object
    CloudintegrationtypesGCPMetricsCollectionStrategy:
      nullable: true
      properties:
        metricNames:
          items:
            type: string
          type: array
      required:
      - metricNames
      type: object
    CloudintegrationtypesGCPPostableAccountConfig:
      properties:
        connectionMethod:
          $ref: '#/components/schemas/CloudintegrationtypesGCPConnectionMethod'
        deploymentProjectId:
          type: string
        deploymentRegion:
          type: string
        projectIds:
          items:
            type: string
          type: array
      required:
      - connectionMethod
      - deploymentProjectId
      - deploymentRegion
      - projectIds
      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
    CloudintegrationtypesGCPTelemetryCollectionStrategy:
      properties:
        logs:
          $ref: '#/components/schemas/CloudintegrationtypesGCPLogsCollectionStrategy'
        metrics:
          $ref: '#/components/schemas/CloudintegrationtypesGCPMetricsCollectionStrategy'
      required:
      - metrics
      - logs
      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
        syncState:
          $ref: '#/components/schemas/CloudintegrationtypesSyncState'
      required:
      - account_id
      - cloud_account_id
      - integration_config
      - removed_at
      - cloudIntegrationId
      - providerAccountId
      - integrationConfig
      - removedAt
      - syncState
      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/CloudintegrationtypesGCPPostableAccountConfig'
      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
        syncedVersion:
          nullable: true
          type: integer
      required:
      - data
      type: object
    CloudintegrationtypesProviderIntegrationConfig:
      properties:
        aws:
          $ref: '#/components/schemas/CloudintegrationtypesAWSIntegrationConfig'
        azure:
          $ref: '#/components/schemas/CloudintegrationtypesAzureIntegrationConfig'
        gcp:
          $ref: '#/components/schemas/CloudintegrationtypesGCPIntegrationConfig'
      type: object
    CloudintegrationtypesRegionState:
      enum:
      - enabled
      - disabled
      type: string
    CloudintegrationtypesRegionSyncState:
      properties:
        state:
          $ref: '#/components/schemas/CloudintegrationtypesRegionState'
      required:
      - state
      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
    CloudintegrationtypesSyncState:
      nullable: true
      properties:
        inSync:
          type: boolean
        regions:
          additionalProperties:
            $ref: '#/components/schemas/CloudintegrationtypesRegionSyncState'
          type: object
        version:
          format: int64
          type: integer
      required:
      - version
      - inSync
      - regions
      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
          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
      - deployment-host
      - logs
      - traces
      - metrics
      - audit-logs
      - meter-metrics
      - logs-field
      - traces-field
      - metrics-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
    DashboardtypesAIBuilderQuerySpec:
      properties:
        aggregations:
          description: The aggregations to compute, one result per entry. Traces and
            logs take expressions such as count() or p99(duration_nano); metrics take
            a metricName with time and space aggregations. Omit for raw requests.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TraceAggregation'
          nullable: true
          type: array
        bucketOptions:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketOptions'
          description: The value axis to count this query into, as a kind-discriminated
            linear or log bucket spec. Read only by heatmap requests, and only from
            the query they draw.
        cursor:
          description: The opaque nextCursor value from a previous raw result, used
            to fetch the next page.
          type: string
        disabled:
          description: When true, the result is excluded from the response; the query
            may still run and can still feed a formula or trace operator. Defaults
            to false.
          type: boolean
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: The filter that selects spans, in the query filter syntax,
            for example service.name = 'frontend' AND http.response.status_code >=
            500.
        functions:
          description: Post-processing functions applied in order to each result series,
            such as absolute, cumulativeSum, timeShift or anomaly.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          description: The fields to group aggregations by; each group becomes a series
            or a row with the field as a label or column.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Having'
          description: A filter applied to aggregation results, referencing aliases
            or expressions, for example count() > 100.
        legend:
          description: The display name template for each series; {{field}} placeholders
            are replaced by group-by label values.
          type: string
        limit:
          description: The maximum number of rows for raw requests, or of series or
            rows for grouped aggregations, keeping the top entries by order. When
            0, aggregations are unlimited while raw requests ordered by timestamp
            return a page of 10000 rows; follow nextCursor for the rest.
          type: integer
        limitBy:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
          description: Reserved for applying limit within each combination of the
            given group-by keys. Accepted but currently ignored.
        name:
          description: The unique name of the query, such as A or B; formulas, trace
            operators and selectedQueryName refer to it.
          type: string
        offset:
          description: The number of rows to skip before returning results. Prefer
            cursor for raw requests.
          type: integer
        order:
          description: The sort order of the result. Order by a group-by field, an
            aggregation alias, or for raw requests a selected field such as timestamp.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          description: Accepted but currently ignored, including their nested order,
            limit and limitBy.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          description: 'The fields to return for each row in raw requests, in addition
            to the columns always present: timestamp and id for logs, timestamp, trace_id
            and span_id for traces. Ignored by aggregating requests.'
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          description: 'The telemetry signal to query: traces, logs or metrics. It
            selects the aggregation shape and is required for builder_query.'
          enum:
          - traces
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Set to meter for Cost Meter
            metrics; leave empty for regular telemetry.
        stepInterval:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The time bucket for time_series aggregation: seconds as a
            number or a Go duration string such as 60s or 1m. Derived from the time
            range when omitted.'
      required:
      - signal
      type: object
    DashboardtypesAreaChartAppearance:
      properties:
        fillMode:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAreaFillMode'
          description: 'The fill under each line: solid (default) or gradient.'
        fillOpacity:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesFillOpacity'
          description: The fill opacity from 0 (transparent) to 1 (opaque). Null uses
            the chart default.
        lineInterpolation:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLineInterpolation'
          description: 'How points are joined: linear, spline (default), step_after
            or step_before.'
        lineStyle:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLineStyle'
          description: 'The line stroke: solid (default) or dashed.'
        showPoints:
          description: Whether each data point is marked on the line.
          type: boolean
        spanGaps:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesSpanGaps'
          description: Whether lines connect across missing points.
      type: object
    DashboardtypesAreaChartPanelSpec:
      properties:
        axes:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAxes'
          description: Y axis bounds and scale.
        chartAppearance:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAreaChartAppearance'
          description: Line and fill drawing options.
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelFormatting'
          description: Unit and decimal precision of the values.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and series colors.
        thresholds:
          description: Horizontal reference lines drawn at fixed values.
          items:
            $ref: '#/components/schemas/DashboardtypesThresholdWithLabel'
          nullable: true
          type: array
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAreaChartVisualization'
          description: Time range, gap handling and stacking.
      type: object
    DashboardtypesAreaChartVisualization:
      properties:
        fillSpans:
          description: Whether intervals with no data are drawn as zero instead of
            a gap.
          type: boolean
        stack:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesStackMode'
          description: 'How the areas combine: none (default) overlays them, normal
            stacks the values, percent stacks them as shares of the total.'
        timePreference:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimePreference'
          description: 'The time range the panel queries: global_time (default) follows
            the dashboard range; last_5_min, last_15_min, last_30_min, last_1_hr,
            last_6_hr, last_1_day, last_3_days, last_1_week or last_1_month pin a
            fixed window.'
      type: object
    DashboardtypesAreaFillMode:
      enum:
      - solid
      - gradient
      type: string
    DashboardtypesAxes:
      properties:
        isLogScale:
          description: Whether the Y axis uses a logarithmic scale.
          type: boolean
        softMax:
          description: The highest value the Y axis always shows; data above it still
            extends the axis. Null fits the data.
          nullable: true
          type: number
        softMin:
          description: The lowest value the Y axis always shows; data below it still
            extends the axis. Null fits the data.
          nullable: true
          type: number
      type: object
    DashboardtypesAxisScale:
      enum:
      - auto
      - linear
      - log
      - symlog
      type: string
    DashboardtypesBarChartPanelSpec:
      properties:
        axes:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAxes'
          description: Y axis bounds and scale.
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelFormatting'
          description: Unit and decimal precision of the values.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and series colors.
        thresholds:
          description: Horizontal reference lines drawn at fixed values.
          items:
            $ref: '#/components/schemas/DashboardtypesThresholdWithLabel'
          nullable: true
          type: array
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBarChartVisualization'
          description: Time range, gap handling and stacking.
      type: object
    DashboardtypesBarChartVisualization:
      properties:
        fillSpans:
          description: Whether intervals with no data are drawn as zero instead of
            a gap.
          type: boolean
        stackedBarChart:
          description: Whether the series are stacked on top of each other.
          type: boolean
        timePreference:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimePreference'
          description: 'The time range the panel queries: global_time (default) follows
            the dashboard range; last_5_min, last_15_min, last_30_min, last_1_hr,
            last_6_hr, last_1_day, last_3_days, last_1_week or last_1_month pin a
            fixed window.'
      type: object
    DashboardtypesBasicVisualization:
      properties:
        timePreference:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimePreference'
          description: 'The time range the panel queries: global_time (default) follows
            the dashboard range; last_5_min, last_15_min, last_30_min, last_1_hr,
            last_6_hr, last_1_day, last_3_days, last_1_week or last_1_month pin a
            fixed window.'
      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:
          description: 'The CSS color applied to the text or background, per format,
            while the threshold is active. For example #F1575F matches the SigNoz
            red preset; CSS named colors such as red also work.'
          type: string
        format:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesThresholdFormat'
          description: 'What the color is applied to: text (default) or background.'
        operator:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesComparisonOperator'
          description: 'The comparison that activates the threshold: above (default),
            below, above_or_equal, below_or_equal, equal or not_equal.'
        unit:
          description: The unit id of value, such as ms or percent. Empty means the
            panel's unit, or the column's unit for a table threshold. Prefer the panel's
            unit; a different unit works only when it converts to it, such as s against
            a panel in ms.
          type: string
        value:
          description: The value compared against, in unit.
          format: double
          type: number
      required:
      - value
      - color
      type: object
    DashboardtypesCustomVariableSpec:
      properties:
        customValue:
          description: The fixed values as a comma-separated list, such as 1,10,100.
          type: string
      required:
      - customValue
      type: object
    DashboardtypesDashboardPanelRef:
      properties:
        dashboardId:
          description: The id of the dashboard containing the panel.
          type: string
        dashboardName:
          description: The dashboard name.
          type: string
        filterBy:
          description: The metric labels the panel filters on.
          items:
            type: string
          type: array
        groupBy:
          description: The metric labels the panel groups by.
          items:
            type: string
          type: array
        panelId:
          description: The panel id within the dashboard.
          type: string
        panelName:
          description: The panel title.
          type: string
      required:
      - dashboardId
      - dashboardName
      - panelId
      - panelName
      type: object
    DashboardtypesDashboardSpec:
      properties:
        display:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDisplay'
          description: The dashboard title and description.
        duration:
          description: The default time range, as a Prometheus duration such as 1h
            or 7d. Stored, but not applied by the UI.
          type: string
        layouts:
          description: The Grid layouts that place panels, at most 500. Each panel
            can be placed at most once. Use [] for none.
          items:
            $ref: '#/components/schemas/DashboardtypesLayout'
          type: array
        links:
          description: External links stored with the dashboard. Not shown by the
            UI.
          items:
            $ref: '#/components/schemas/DashboardtypesLink'
          nullable: true
          type: array
        panels:
          additionalProperties:
            $ref: '#/components/schemas/DashboardtypesPanel'
          description: 'The panels keyed by panel id. An id has up to 75 characters
            from letters, digits, dot, underscore and hyphen. A panel is shown only
            where a layout item references it as #/spec/panels/<id>. Use {} for none.'
          type: object
        refreshInterval:
          description: The auto refresh interval, as a Prometheus duration such as
            30s. Stored, but not applied by the UI.
          type: string
        variables:
          description: The dashboard variables, each a ListVariable or TextVariable
            envelope, referenced in queries as $name. Names must be unique. Use []
            for none.
          items:
            $ref: '#/components/schemas/DashboardtypesVariable'
          type: array
      required:
      - display
      - variables
      - panels
      - layouts
      type: object
    DashboardtypesDashboardView:
      properties:
        createdAt:
          format: date-time
          type: string
        data:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDashboardViewData'
          description: The saved list filter and sort.
        id:
          type: string
        name:
          description: The view name.
          type: string
        orgId:
          description: The organization that owns the view.
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - data
      - orgId
      type: object
    DashboardtypesDashboardViewData:
      properties:
        order:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListOrder'
          description: 'The sort direction: asc or desc (default).'
        query:
          description: 'A filter expression over the reserved keys name, description,
            created_at, updated_at, created_by and locked, and over tag keys, using
            the SigNoz filter grammar: comparisons such as =, !=, CONTAINS, LIKE,
            IN, < and >, single-quoted strings, RFC3339 timestamps in quotes for created_at
            and updated_at, combined with AND, OR and NOT, for example name CONTAINS
            ''overview'' AND created_at >= ''2026-10-21T00:00:00Z''. At most 1024
            characters. Empty matches every dashboard.'
          type: string
        sort:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListSort'
          description: 'The sort field: updated_at (default), created_at or name.'
        version:
          description: The view data schema version. Must be v1.
          type: string
      required:
      - version
      type: object
    DashboardtypesDisplay:
      properties:
        description:
          description: A free-text description.
          type: string
        name:
          description: The human-readable title, at most 128 characters.
          maxLength: 128
          type: string
      required:
      - name
      type: object
    DashboardtypesDynamicVariableSignal:
      enum:
      - traces
      - logs
      - metrics
      - all
      type: string
    DashboardtypesDynamicVariableSpec:
      properties:
        name:
          description: The attribute key whose observed values populate the variable,
            such as service.name.
          type: string
        signal:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDynamicVariableSignal'
          description: 'The signal the values are read from: traces, logs, metrics
            or all (default).'
      required:
      - name
      - signal
      type: object
    DashboardtypesFillMode:
      enum:
      - solid
      - gradient
      - none
      type: string
    DashboardtypesFillOpacity:
      maximum: 1
      minimum: 0
      nullable: true
      type: number
    DashboardtypesGettableDashboardV2:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        id:
          type: string
        image:
          description: 'Icon or logo shown in the dashboard list: the path of an icon
            or logo bundled with the UI under /assets/Icons/ or /assets/Logos/ (only
            the prefix is validated), or a base64 image data URI for png, jpeg, gif,
            webp, avif or svg. Empty for none.'
          type: string
        locked:
          description: Whether the dashboard is locked. A locked dashboard rejects
            update and patch until it is unlocked.
          type: boolean
        name:
          description: The dashboard's unique, immutable name, a DNS-1123 label.
          type: string
        orgId:
          description: The organization that owns the dashboard.
          type: string
        schemaVersion:
          description: The dashboard schema version. Must be v6.
          pattern: ^v6$
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesSource'
          description: 'Where the dashboard came from: user, integration or system.
            Only user dashboards can be modified.'
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDashboardSpec'
          description: 'The dashboard content: display, variables, panels, layouts
            and links.'
        tags:
          description: The key/value tags attached to the dashboard, for example key
            team with value payments.
          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:
          description: The time range shown to anonymous viewers by default, as a
            Go duration such as 30m, 1h or 24h. Accepted units are ns, us, ms, s,
            m and h; write a day as 24h.
          type: string
        publicPath:
          description: The path segment of the public URL.
          type: string
        timeRangeEnabled:
          description: Whether anonymous viewers may change the time range.
          type: boolean
      type: object
    DashboardtypesGettablePublicDashboardDataV2:
      properties:
        dashboard:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesGettableDashboardV2'
          description: The dashboard with panel and variable queries redacted.
        publicDashboard:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesGettablePublicDasbhboard'
          description: The sharing settings.
      type: object
    DashboardtypesGettableSystemDashboard:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        image:
          description: 'Icon or logo shown in the dashboard list: the path of an icon
            or logo bundled with the UI under /assets/Icons/ or /assets/Logos/ (only
            the prefix is validated), or a base64 image data URI for png, jpeg, gif,
            webp, avif or svg. Empty for none.'
          type: string
        locked:
          description: Whether the dashboard is locked. A locked dashboard rejects
            update and patch until it is unlocked.
          type: boolean
        name:
          description: The dashboard's unique, immutable name, a DNS-1123 label.
          type: string
        orgId:
          description: The organization that owns the dashboard.
          type: string
        schemaVersion:
          description: The dashboard schema version. Must be v6.
          pattern: ^v6$
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesSource'
          description: 'Where the dashboard came from: user, integration or system.
            Only user dashboards can be modified.'
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDashboardSpec'
          description: 'The dashboard content: display, variables, panels, layouts
            and links.'
        tags:
          description: The key/value tags attached to the dashboard, for example key
            team with value payments.
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          nullable: true
          type: array
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - orgId
      - locked
      - source
      - schemaVersion
      - name
      - tags
      - spec
      type: object
    DashboardtypesHeaderOptions:
      properties:
        hide:
          description: Whether the title and description row above the content is
            hidden.
          type: boolean
      type: object
    DashboardtypesHeatmapAxes:
      properties:
        "y":
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapAxis'
          description: The bucket axis.
      type: object
    DashboardtypesHeatmapAxis:
      properties:
        scale:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapYScale'
          description: 'How bucket bounds are spaced on the axis: auto (default),
            linear, log or symlog.'
      type: object
    DashboardtypesHeatmapChartAppearance:
      properties:
        colors:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapColors'
          description: The color scale applied to bucket counts.
      type: object
    DashboardtypesHeatmapColorMode:
      enum:
      - palette
      - opacity
      type: string
    DashboardtypesHeatmapColorScale:
      enum:
      - log
      - sqrt
      - linear
      type: string
    DashboardtypesHeatmapColors:
      properties:
        fill:
          description: The hex color varied in opacity mode. Empty uses the series
            legend color.
          type: string
        maxCount:
          description: The count mapped to the highest color. Null uses the highest
            count in the grid.
          nullable: true
          type: number
        minCount:
          description: The count mapped to the lowest color. Null uses 0. Must not
            exceed maxCount.
          nullable: true
          type: number
        mode:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapColorMode'
          description: 'How counts are colored: palette (default) picks a hue from
            palette, opacity varies the opacity of fill.'
        palette:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapPalette'
          description: The named color ramp used in palette mode, such as lava (default),
            ice or ember.
        scale:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapColorScale'
          description: 'How counts map onto the color range: log (default), sqrt or
            linear.'
        steps:
          description: The number of distinct color steps, 2 to 128. 0 uses the chart
            default.
          type: integer
      type: object
    DashboardtypesHeatmapPalette:
      enum:
      - ice
      - moss
      - rust
      - graphite
      - ember
      - lagoon
      - orchid
      - verdant
      - lava
      - beacon
      type: string
    DashboardtypesHeatmapPanelSpec:
      properties:
        axes:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapAxes'
          description: The Y axis scale.
        chartAppearance:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapChartAppearance'
          description: How bucket counts map to colors.
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelFormatting'
          description: Unit and decimal precision of the bucket bounds.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and series colors.
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBasicVisualization'
          description: The time range the heatmap covers.
      type: object
    DashboardtypesHeatmapYScale:
      enum:
      - auto
      - linear
      - log
      - symlog
      type: string
    DashboardtypesHistogramBuckets:
      properties:
        bucketCount:
          description: The approximate target number of buckets. Ignored when bucketWidth
            is positive. Null uses the chart default.
          nullable: true
          type: number
        bucketWidth:
          description: The width of each bucket in the value unit. A positive value
            takes precedence over bucketCount; null or 0 lets the chart choose.
          nullable: true
          type: number
        mergeAllActiveQueries:
          description: Whether every series is combined into a single histogram instead
            of one per series.
          type: boolean
      type: object
    DashboardtypesHistogramPanelSpec:
      properties:
        histogramBuckets:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHistogramBuckets'
          description: How values are grouped into buckets.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and series colors.
      type: object
    DashboardtypesJSONPatchOperation:
      properties:
        from:
          description: Source JSON Pointer for move/copy ops; ignored for other ops.
          type: string
        op:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPatchOp'
          description: 'The RFC 6902 verb: add, remove, replace, move, copy or test.
            remove on a missing path is a no-op and add creates missing parents.'
        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:
          description: The layout kind.
          enum:
          - Grid
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardGridLayoutSpec'
          description: 'The grid section: an optional display title and up to 100
            items that place panels. Each item has a content.$ref of #/spec/panels/<id>
            plus x, y, width and height on a 12-column grid: x and y at least 0, width
            and height at least 1, x plus width at most 12, and no two items overlapping.'
      required:
      - kind
      - spec
      type: object
    DashboardtypesLegend:
      properties:
        customColors:
          additionalProperties:
            type: string
          description: Hex colors keyed by series label, overriding the automatic
            palette.
          nullable: true
          type: object
        mode:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegendMode'
          description: The legend layout. Only list is supported.
        position:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegendPosition'
          description: 'Where the legend sits: bottom (default) or right.'
      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:
          description: The link label.
          type: string
        renderVariables:
          description: Whether dashboard variable values are substituted into url
            before opening it.
          type: boolean
        targetBlank:
          description: Whether the link opens in a new tab.
          type: boolean
        tooltip:
          description: Hover text for the link. Stored, but not shown by the UI.
          type: string
        url:
          description: The link target. May reference dashboard variables as {{name}}
            when renderVariables is true.
          type: string
      type: object
    DashboardtypesListOrder:
      enum:
      - asc
      - desc
      type: string
    DashboardtypesListPanelSpec:
      properties:
        selectFields:
          description: The columns shown for each row, as field keys with name and
            optional fieldContext, fieldDataType and signal. Empty shows the default
            columns.
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
      type: object
    DashboardtypesListSort:
      enum:
      - updated_at
      - created_at
      - name
      type: string
    DashboardtypesListVariableSpec:
      properties:
        allowAllValue:
          description: Whether an all option is offered. Requires allowMultiple.
          type: boolean
        allowMultiple:
          description: Whether several values can be selected at once.
          type: boolean
        capturingRegexp:
          description: A regular expression meant to keep only matching values, reduced
            to the capture group when one is present. Stored, but not applied by the
            UI.
          type: string
        customAllValue:
          description: The value meant to replace every value when all is selected.
            Requires allowAllValue. Stored, but currently ignored by the UI.
          type: string
        defaultValue:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesVariableDefaultValue'
          description: 'The initially selected value: a string, or a list of strings
            when allowMultiple is true.'
        display:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDisplay'
          description: The label shown for the variable control.
        name:
          description: The handle queries reference as $name. Up to 75 characters
            from letters, digits, dot, underscore and hyphen, not all digits, unique
            within the dashboard.
          minLength: 1
          type: string
        plugin:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesVariablePlugin'
          description: 'Where the values come from: kind is signoz/DynamicVariable
            (observed attribute values), signoz/QueryVariable (a ClickHouse query)
            or signoz/CustomVariable (a fixed list), and spec holds that kind''s settings.'
        sort:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListVariableSpecSort'
          description: 'How the values are ordered: none (default), alphabetical-asc,
            alphabetical-desc, numerical-asc, numerical-desc, alphabetical-ci-asc
            or alphabetical-ci-desc.'
      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:
          description: The dashboards on this page, each with the calling user's pin
            state.
          items:
            $ref: '#/components/schemas/DashboardtypesListedDashboardForUserV2'
          type: array
        reservedKeywords:
          description: The filter keys that address dashboard columns rather than
            tags.
          items:
            type: string
          type: array
        tags:
          description: Every dashboard tag in the organization, for building filters.
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          type: array
        total:
          description: The number of dashboards matching the filter across every page.
          format: int64
          type: integer
      required:
      - dashboards
      - total
      - tags
      - reservedKeywords
      type: object
    DashboardtypesListableDashboardV2:
      properties:
        dashboards:
          description: The dashboards on this page.
          items:
            $ref: '#/components/schemas/DashboardtypesListedDashboardV2'
          type: array
        reservedKeywords:
          description: The filter keys that address dashboard columns rather than
            tags.
          items:
            type: string
          type: array
        tags:
          description: Every dashboard tag in the organization, for building filters.
          items:
            $ref: '#/components/schemas/TagtypesGettableTag'
          type: array
        total:
          description: The number of dashboards matching the filter across every page.
          format: int64
          type: integer
      required:
      - dashboards
      - total
      - tags
      - reservedKeywords
      type: object
    DashboardtypesListableDashboardView:
      properties:
        views:
          description: The saved dashboard list 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:
          description: 'Icon or logo shown in the dashboard list: the path of an icon
            or logo bundled with the UI under /assets/Icons/ or /assets/Logos/, or
            a base64 image data URI. Omitted when none is set.'
          type: string
        legacy:
          description: Whether the dashboard is still in the v1 schema. It is listed
            but cannot be fetched or edited through the v2 endpoints.
          type: boolean
        locked:
          description: Whether the dashboard is locked against update and patch.
          type: boolean
        name:
          description: The dashboard's unique, immutable name.
          type: string
        orgId:
          description: The organization that owns the dashboard.
          type: string
        pinned:
          description: Whether the calling user has pinned the dashboard.
          type: boolean
        schemaVersion:
          description: The dashboard schema version, v6 for v2 dashboards.
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesSource'
          description: 'Where the dashboard came from: user or integration. System
            dashboards are not listed.'
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListedDashboardV2Spec'
          description: The display part of the dashboard spec. Panels, variables and
            layouts are not included in list rows.
        tags:
          description: The tags attached to the dashboard.
          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:
          description: 'Icon or logo shown in the dashboard list: the path of an icon
            or logo bundled with the UI under /assets/Icons/ or /assets/Logos/, or
            a base64 image data URI. Omitted when none is set.'
          type: string
        legacy:
          description: Whether the dashboard is still in the v1 schema. It is listed
            but cannot be fetched or edited through the v2 endpoints.
          type: boolean
        locked:
          description: Whether the dashboard is locked against update and patch.
          type: boolean
        name:
          description: The dashboard's unique, immutable name.
          type: string
        orgId:
          description: The organization that owns the dashboard.
          type: string
        schemaVersion:
          description: The dashboard schema version, v6 for v2 dashboards.
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesSource'
          description: 'Where the dashboard came from: user or integration. System
            dashboards are not listed.'
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListedDashboardV2Spec'
          description: The display part of the dashboard spec. Panels, variables and
            layouts are not included in list rows.
        tags:
          description: The tags attached to the dashboard.
          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:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDisplay'
          description: The dashboard name and description.
      type: object
    DashboardtypesNumberPanelSpec:
      properties:
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelFormatting'
          description: Unit and decimal precision of the value.
        thresholds:
          description: Rules that recolor the value when it compares to a threshold
            as specified.
          items:
            $ref: '#/components/schemas/DashboardtypesComparisonThreshold'
          nullable: true
          type: array
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBasicVisualization'
          description: The time range the value is computed over.
      type: object
    DashboardtypesPanel:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelKind'
          description: The panel envelope kind. Always Panel.
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelSpec'
          description: 'The panel content: display, plugin, queries and links.'
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelFormatting:
      properties:
        decimalPrecision:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPrecisionOption'
          description: 'Decimal places shown: 0, 1, 2 (default), 3, 4 or full.'
        unit:
          description: The display unit of the values, such as By, ms, s, percent
            or percentunit. Use percent for values already expressed as percentages
            (95 displays as 95%) and percentunit for fractions (0.95 displays as 95%).
            Empty shows plain numbers.
          type: string
      type: object
    DashboardtypesPanelKind:
      enum:
      - Panel
      type: string
    DashboardtypesPanelPlugin:
      discriminator:
        mapping:
          signoz/AreaChartPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesAreaChartPanelSpec'
          signoz/BarChartPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBarChartPanelSpec'
          signoz/HeatmapPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHeatmapPanelSpec'
          signoz/HistogramPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHistogramPanelSpec'
          signoz/ListPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesListPanelSpec'
          signoz/NumberPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesNumberPanelSpec'
          signoz/PieChartPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesPieChartPanelSpec'
          signoz/ScatterPlotPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesScatterPlotPanelSpec'
          signoz/TablePanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTablePanelSpec'
          signoz/TextPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTextPanelSpec'
          signoz/TimeSeriesPanel: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTimeSeriesPanelSpec'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTimeSeriesPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBarChartPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesAreaChartPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesNumberPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesPieChartPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTablePanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHistogramPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesListPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTextPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHeatmapPanelSpec'
      - $ref: '#/components/schemas/DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesScatterPlotPanelSpec'
      type: object
    DashboardtypesPanelPluginKind:
      enum:
      - signoz/TimeSeriesPanel
      - signoz/BarChartPanel
      - signoz/AreaChartPanel
      - signoz/NumberPanel
      - signoz/PieChartPanel
      - signoz/TablePanel
      - signoz/HistogramPanel
      - signoz/ListPanel
      - signoz/TextPanel
      - signoz/HeatmapPanel
      - signoz/ScatterPlotPanel
      type: string
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesAreaChartPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/AreaChartPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAreaChartPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBarChartPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/BarChartPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBarChartPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHeatmapPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/HeatmapPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeatmapPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesHistogramPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/HistogramPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHistogramPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesListPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/ListPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesNumberPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/NumberPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesNumberPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesPieChartPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/PieChartPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPieChartPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesScatterPlotPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/ScatterPlotPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTablePanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/TablePanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTablePanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTextPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/TextPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTextPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesTimeSeriesPanelSpec:
      properties:
        kind:
          description: The panel kind.
          enum:
          - signoz/TimeSeriesPanel
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimeSeriesPanelSpec'
          description: The options for this panel kind. {} accepts every default.
      required:
      - kind
      - spec
      type: object
    DashboardtypesPanelSpec:
      properties:
        display:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDisplay'
          description: The panel title and description.
        links:
          description: Context links offered in the data point drilldown menu of the
            panel, with dashboard variables resolved in the URL.
          items:
            $ref: '#/components/schemas/DashboardtypesLink'
          nullable: true
          type: array
        plugin:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelPlugin'
          description: 'The visualization: kind is one of signoz/TimeSeriesPanel,
            signoz/BarChartPanel, signoz/AreaChartPanel, signoz/NumberPanel, signoz/PieChartPanel,
            signoz/TablePanel, signoz/HistogramPanel, signoz/ListPanel, signoz/TextPanel
            or signoz/HeatmapPanel, and spec holds that kind''s options ({} accepts
            every default).'
        queries:
          description: The queries the panel runs. Use exactly one entry for a data
            panel and [] for signoz/TextPanel. To run several named queries or formulas,
            use one entry whose spec.plugin.kind is signoz/CompositeQuery and put
            the constituent queries in its plugin spec.
          items:
            $ref: '#/components/schemas/DashboardtypesQuery'
          type: array
      required:
      - display
      - plugin
      - queries
      type: object
    DashboardtypesPatchOp:
      enum:
      - add
      - remove
      - replace
      - move
      - copy
      - test
      type: string
    DashboardtypesPatchableDashboardV2:
      description: The RFC 6902 operations, applied in order against the dashboard's
        postable shape.
      items:
        $ref: '#/components/schemas/DashboardtypesJSONPatchOperation'
      nullable: true
      type: array
    DashboardtypesPieChartPanelSpec:
      properties:
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelFormatting'
          description: Unit and decimal precision of the slice values.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and slice colors.
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBasicVisualization'
          description: The time range the slices are computed over.
      type: object
    DashboardtypesPointDiameter:
      maximum: 40
      minimum: 2
      nullable: true
      type: integer
    DashboardtypesPointOpacity:
      maximum: 1
      minimum: 0.1
      nullable: true
      type: number
    DashboardtypesPostableDashboardV2:
      properties:
        generateName:
          description: When true the server derives name from spec.display.name plus
            a random suffix. Requires an empty name and a non-empty spec.display.name.
          type: boolean
        image:
          description: 'Icon or logo shown in the dashboard list: the path of an icon
            or logo bundled with the UI under /assets/Icons/ or /assets/Logos/ (only
            the prefix is validated), or a base64 image data URI for png, jpeg, gif,
            webp, avif or svg. Empty for none.'
          type: string
        name:
          description: The dashboard's unique name, a DNS-1123 label (lowercase letters,
            digits and hyphens, at most 63 characters). Immutable after creation.
            Must be empty when generateName is true.
          type: string
        schemaVersion:
          description: The dashboard schema version. Must be v6.
          pattern: ^v6$
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDashboardSpec'
          description: 'The dashboard content: display, variables, panels, layouts
            and links.'
        tags:
          description: 'Up to 10 key/value tags, for example key team with value payments.
            Keys must not be one of the reserved list filter keys: name, description,
            created_at, updated_at, created_by, locked, source. Use [] for none.'
          items:
            $ref: '#/components/schemas/TagtypesPostableTag'
          maxItems: 10
          nullable: true
          type: array
      required:
      - schemaVersion
      - tags
      - spec
      type: object
    DashboardtypesPostableDashboardView:
      properties:
        data:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDashboardViewData'
          description: The list filter and sort to save.
        name:
          description: The view name, at most 64 characters.
          maxLength: 64
          type: string
      required:
      - name
      - data
      type: object
    DashboardtypesPostablePublicDashboard:
      properties:
        defaultTimeRange:
          description: The time range shown to anonymous viewers by default, as a
            Go duration such as 30m, 1h or 24h. Accepted units are ns, us, ms, s,
            m and h; write a day as 24h.
          type: string
        timeRangeEnabled:
          description: Whether anonymous viewers may change the time range.
          type: boolean
      type: object
    DashboardtypesPrecisionOption:
      enum:
      - "0"
      - "1"
      - "2"
      - "3"
      - "4"
      - full
      type: string
    DashboardtypesQuery:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5RequestType'
          description: 'The result shape the panel requests: time_series for time
            series, bar, area and histogram panels, scalar for number, table and pie
            panels, raw for list panels, heatmap for heatmap panels, trace for trace
            panels.'
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesQuerySpec'
          description: 'The query content: an optional name and the query plugin.'
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPlugin:
      discriminator:
        mapping:
          signoz/AIBuilderQuery: '#/components/schemas/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesAIBuilderQuerySpec'
          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/DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesAIBuilderQuerySpec'
      - $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/AIBuilderQuery
      - signoz/CompositeQuery
      - signoz/Formula
      - signoz/PromQLQuery
      - signoz/ClickHouseSQL
      - signoz/TraceOperator
      type: string
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesAIBuilderQuerySpec:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/AIBuilderQuery
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAIBuilderQuerySpec'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesDashboardtypesBuilderQuerySpec:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/BuilderQuery
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBuilderQuerySpec'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5ClickHouseQuery:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/ClickHouseSQL
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5ClickHouseQuery'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5CompositeQuery:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/CompositeQuery
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5CompositeQuery'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5PromQuery:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/PromQLQuery
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5PromQuery'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderFormula:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/Formula
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderFormula'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQueryPluginVariantGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5QueryBuilderTraceOperator:
      properties:
        kind:
          description: The query kind.
          enum:
          - signoz/TraceOperator
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderTraceOperator'
          description: The kind-specific query spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesQuerySpec:
      properties:
        name:
          description: An optional label for the query. The name queries refer to
            each other by lives in the plugin spec.
          type: string
        plugin:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesQueryPlugin'
          description: 'The query: kind is one of signoz/BuilderQuery, signoz/AIBuilderQuery
            (builder query over AI observability traces), signoz/CompositeQuery (several
            named queries and formulas), signoz/Formula, signoz/PromQLQuery, signoz/ClickHouseSQL
            or signoz/TraceOperator, and spec holds that kind''s query. Pie and table
            panels reject signoz/PromQLQuery; heatmap panels reject signoz/AIBuilderQuery
            and signoz/TraceOperator; list panels accept only signoz/BuilderQuery
            and signoz/AIBuilderQuery.'
      required:
      - plugin
      type: object
    DashboardtypesQueryVariableSpec:
      properties:
        queryValue:
          description: A ClickHouse SQL query returning one column of selectable values;
            every returned column is offered.
          type: string
      required:
      - queryValue
      type: object
    DashboardtypesScatterPlotAxes:
      properties:
        x:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotAxis'
          description: The axis dimensions.x is plotted along.
        "y":
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotAxis'
          description: The axis dimensions.y is plotted along.
      type: object
    DashboardtypesScatterPlotAxis:
      properties:
        label:
          description: Axis title. Empty draws none; the tooltip still names the column.
          type: string
        scale:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAxisScale'
          description: auto (default) uses log, or symlog when values include zero
            or negatives, when that spreads the dots clearly more than linear does;
            otherwise linear. log cannot place a value at or below zero and leaves
            that dot out; symlog is log-like but places it.
        softMax:
          description: The highest value the axis always shows; data above it still
            extends the axis, as does a threshold on it. Null fits the data.
          nullable: true
          type: number
        softMin:
          description: The lowest value the axis always shows; data below it still
            extends the axis, as does a threshold on it. Null fits the data. A log
            axis ignores a bound at or below zero.
          nullable: true
          type: number
      type: object
    DashboardtypesScatterPlotChartAppearance:
      properties:
        points:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotPoints'
          description: Dot size and opacity.
      type: object
    DashboardtypesScatterPlotDimensions:
      properties:
        colorBy:
          description: Group-by label names (e.g. k8s.namespace.name) whose combined
            values color the dots and drive the legend. Empty colors by every group-by
            label.
          items:
            type: string
          nullable: true
          type: array
        sizeBy:
          description: Value column key that scales each dot's area between chartAppearance.points.minSize
            and maxSize. Empty draws every dot at chartAppearance.points.size, as
            does a dot with no value.
          type: string
        x:
          description: Value column key (queryName, or queryName.expression for a
            multi-aggregation query) plotted on the x axis. Empty, or a key the result
            lacks, uses the first value column.
          type: string
        "y":
          description: Value column key plotted on the y axis. Empty, or a key the
            result lacks, uses the first value column x does not use.
          type: string
      type: object
    DashboardtypesScatterPlotPanelSpec:
      properties:
        axes:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotAxes'
          description: Title, bounds and scale of each axis.
        chartAppearance:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotChartAppearance'
          description: Dot drawing options.
        dimensions:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesScatterPlotDimensions'
          description: 'Which result columns place, size and color the dots. Each
            dot is one row of the joined scalar result: one group.'
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTableFormatting'
          description: Per-column units and decimal precision. The x and y columns'
            units label their axes; every bound column's unit shows in the tooltip.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and series colors. A series is one color group,
            labeled by its colorBy values joined with a comma, or All when nothing
            is grouped.
        thresholds:
          description: Reference lines drawn at fixed values across the x or y axis.
          items:
            $ref: '#/components/schemas/DashboardtypesScatterPlotThreshold'
          nullable: true
          type: array
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBasicVisualization'
          description: The time range the groups are computed over.
      type: object
    DashboardtypesScatterPlotPoints:
      properties:
        maxSize:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPointDiameter'
          description: Diameter of the largest dot when dimensions.sizeBy is set,
            in CSS pixels from 2 to 40. Null means 24.
        minSize:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPointDiameter'
          description: Diameter of the smallest dot when dimensions.sizeBy is set,
            in CSS pixels from 2 to 40. Null means 4.
        opacity:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPointOpacity'
          description: Fill opacity of every dot, from 0.1 to 1. Null means 0.7.
        size:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPointDiameter'
          description: Diameter of every dot when dimensions.sizeBy is unset, in CSS
            pixels from 2 to 40. Null means 6.
      type: object
    DashboardtypesScatterPlotThreshold:
      properties:
        axis:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesThresholdAxis'
          description: 'The axis the line marks: y (default) draws it horizontally,
            x vertically. Unit converts against that axis''s column unit, and the
            axis extends to keep the line in view.'
        color:
          description: 'The CSS color of the line, for example #F1575F, which matches
            the SigNoz red preset; CSS named colors such as red also work.'
          type: string
        label:
          description: The caption shown on the line.
          type: string
        unit:
          description: The unit id of value, such as ms or percent. Empty means the
            panel's unit, or the column's unit for a table threshold. Prefer the panel's
            unit; a different unit works only when it converts to it, such as s against
            a panel in ms.
          type: string
        value:
          description: The value the line is drawn at, in unit.
          format: double
          type: number
      required:
      - value
      - color
      type: object
    DashboardtypesSource:
      enum:
      - user
      - system
      - integration
      type: string
    DashboardtypesSpanGaps:
      properties:
        fillLessThan:
          description: The largest gap still connected when fillOnlyBelow is true;
            longer gaps are left disconnected. Required in that case, as a positive
            Prometheus duration such as 30s, 5m or 1d.
          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
    DashboardtypesStackMode:
      enum:
      - none
      - normal
      - percent
      type: string
    DashboardtypesTableFormatting:
      properties:
        columnUnits:
          additionalProperties:
            type: string
          description: 'Unit id per value column, keyed by the column key: the query
            name for a builder query with one aggregation (A), the query name dotted
            with the aggregation expression for several (A.count()), or the SQL alias
            for a ClickHouse SQL column. Aggregation aliases are display labels, not
            keys.'
          nullable: true
          type: object
        decimalPrecision:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPrecisionOption'
          description: 'Decimal places shown: 0, 1, 2 (default), 3, 4 or full.'
      type: object
    DashboardtypesTablePanelSpec:
      properties:
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTableFormatting'
          description: Per-column units and decimal precision.
        thresholds:
          description: Rules that recolor a cell when its column value compares to
            a threshold as specified.
          items:
            $ref: '#/components/schemas/DashboardtypesTableThreshold'
          nullable: true
          type: array
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesBasicVisualization'
          description: The time range the rows are computed over.
      type: object
    DashboardtypesTableThreshold:
      properties:
        color:
          description: 'The CSS color applied to the text or background, per format,
            while the threshold is active. For example #F1575F matches the SigNoz
            red preset; CSS named colors such as red also work.'
          type: string
        columnName:
          description: 'The key of the value column the rule applies to: the query
            name for a builder query with one aggregation (A), the query name dotted
            with the aggregation expression for several (A.count()), or the SQL alias
            for a ClickHouse SQL column. Group-by columns are never colored, and aggregation
            aliases are display labels, not keys.'
          type: string
        format:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesThresholdFormat'
          description: 'What the color is applied to: text (default) or background.'
        operator:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesComparisonOperator'
          description: 'The comparison that activates the threshold: above (default),
            below, above_or_equal, below_or_equal, equal or not_equal.'
        unit:
          description: The unit id of value, such as ms or percent. Empty means the
            panel's unit, or the column's unit for a table threshold. Prefer the panel's
            unit; a different unit works only when it converts to it, such as s against
            a panel in ms.
          type: string
        value:
          description: The value compared against, in unit.
          format: double
          type: number
      required:
      - value
      - color
      - columnName
      type: object
    DashboardtypesTextAlign:
      enum:
      - left
      - center
      - right
      type: string
    DashboardtypesTextMode:
      enum:
      - markdown
      type: string
    DashboardtypesTextPanelSpec:
      properties:
        headerOptions:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesHeaderOptions'
          description: Whether the panel header is shown.
        mode:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTextMode'
          description: How text is interpreted. Only markdown is supported.
        presentation:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTextPresentation'
          description: Alignment and background of the content.
        text:
          description: The content to render.
          type: string
      type: object
    DashboardtypesTextPresentation:
      properties:
        background:
          description: 'A hex background color such as #1f2937. Omit for the panel
            default.'
          nullable: true
          type: string
        textAlign:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTextAlign'
          description: 'Horizontal alignment: left (default), center or right.'
        verticalAlign:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesVerticalAlign'
          description: 'Vertical alignment: top (default), center or bottom.'
      type: object
    DashboardtypesTextVariableSpec:
      properties:
        constant:
          description: Whether the value is meant to be fixed. Stored, but not applied
            by the UI.
          type: boolean
        display:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDisplay'
          description: The label shown for the variable control.
        name:
          description: The handle queries reference as $name. Up to 75 characters
            from letters, digits, dot, underscore and hyphen, not all digits, unique
            within the dashboard.
          minLength: 1
          type: string
        value:
          description: The default text. Must be non-empty when constant is true.
          type: string
      required:
      - display
      - value
      - name
      type: object
    DashboardtypesThresholdAxis:
      enum:
      - x
      - "y"
      type: string
    DashboardtypesThresholdFormat:
      enum:
      - text
      - background
      type: string
    DashboardtypesThresholdWithLabel:
      properties:
        color:
          description: 'The CSS color of the line, for example #F1575F, which matches
            the SigNoz red preset; CSS named colors such as red also work.'
          type: string
        label:
          description: The caption shown on the line.
          type: string
        unit:
          description: The unit id of value, such as ms or percent. Empty means the
            panel's unit, or the column's unit for a table threshold. Prefer the panel's
            unit; a different unit works only when it converts to it, such as s against
            a panel in ms.
          type: string
        value:
          description: The value the line is drawn at, in unit.
          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:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesFillMode'
          description: 'The fill under each line: none (default), solid or gradient.'
        lineInterpolation:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLineInterpolation'
          description: 'How points are joined: linear, spline (default), step_after
            or step_before.'
        lineStyle:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLineStyle'
          description: 'The line stroke: solid (default) or dashed.'
        showPoints:
          description: Whether each data point is marked on the line.
          type: boolean
        spanGaps:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesSpanGaps'
          description: Whether lines connect across missing points.
      type: object
    DashboardtypesTimeSeriesPanelSpec:
      properties:
        axes:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesAxes'
          description: Y axis bounds and scale.
        chartAppearance:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimeSeriesChartAppearance'
          description: Line drawing options.
        formatting:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesPanelFormatting'
          description: Unit and decimal precision of the values.
        legend:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesLegend'
          description: Legend placement and series colors.
        thresholds:
          description: Horizontal reference lines drawn at fixed values.
          items:
            $ref: '#/components/schemas/DashboardtypesThresholdWithLabel'
          nullable: true
          type: array
        visualization:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimeSeriesVisualization'
          description: Time range and gap handling.
      type: object
    DashboardtypesTimeSeriesVisualization:
      properties:
        fillSpans:
          description: Whether intervals with no data are drawn as zero instead of
            a gap.
          type: boolean
        timePreference:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTimePreference'
          description: 'The time range the panel queries: global_time (default) follows
            the dashboard range; last_5_min, last_15_min, last_30_min, last_1_hr,
            last_6_hr, last_1_day, last_3_days, last_1_week or last_1_month pin a
            fixed window.'
      type: object
    DashboardtypesUpdatableDashboardV2:
      properties:
        image:
          description: 'Icon or logo shown in the dashboard list: the path of an icon
            or logo bundled with the UI under /assets/Icons/ or /assets/Logos/ (only
            the prefix is validated), or a base64 image data URI for png, jpeg, gif,
            webp, avif or svg. Empty for none.'
          type: string
        name:
          description: The dashboard's current name. The name is immutable, so a different
            value is rejected.
          type: string
        schemaVersion:
          description: The dashboard schema version. Must be v6.
          pattern: ^v6$
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDashboardSpec'
          description: 'The full replacement dashboard content: display, variables,
            panels, layouts and links.'
        tags:
          description: 'The full replacement tag set, up to 10 key/value tags, for
            example key team with value payments. Keys must not be one of the reserved
            list filter keys: name, description, created_at, updated_at, created_by,
            locked, source.'
          items:
            $ref: '#/components/schemas/TagtypesPostableTag'
          maxItems: 10
          nullable: true
          type: array
      required:
      - schemaVersion
      - name
      - tags
      - spec
      type: object
    DashboardtypesUpdatablePublicDashboard:
      properties:
        defaultTimeRange:
          description: The time range shown to anonymous viewers by default, as a
            Go duration such as 30m, 1h or 24h. Accepted units are ns, us, ms, s,
            m and h; write a day as 24h.
          type: string
        timeRangeEnabled:
          description: Whether anonymous viewers may change the time range.
          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:
          description: The variable kind.
          enum:
          - ListVariable
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListVariableSpec'
          description: The kind-specific variable spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariableEnvelopeGithubComSigNozSignozPkgTypesDashboardtypesTextVariableSpec:
      properties:
        kind:
          description: The variable kind.
          enum:
          - TextVariable
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesTextVariableSpec'
          description: The kind-specific variable spec.
      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:
          description: The value source kind.
          enum:
          - signoz/CustomVariable
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesCustomVariableSpec'
          description: The kind-specific value source spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesDynamicVariableSpec:
      properties:
        kind:
          description: The value source kind.
          enum:
          - signoz/DynamicVariable
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesDynamicVariableSpec'
          description: The kind-specific value source spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesVariablePluginVariantGithubComSigNozSignozPkgTypesDashboardtypesQueryVariableSpec:
      properties:
        kind:
          description: The value source kind.
          enum:
          - signoz/QueryVariable
          type: string
        spec:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesQueryVariableSpec'
          description: The kind-specific value source spec.
      required:
      - kind
      - spec
      type: object
    DashboardtypesVerticalAlign:
      enum:
      - top
      - center
      - bottom
      type: string
    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
    GatewaytypesDeprecatedPostableIngestionKeyLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        signal:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      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'
        keyId:
          type: string
        signal:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      required:
      - keyId
      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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          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
    LicensetypesFeature:
      properties:
        active:
          type: boolean
        name:
          type: string
        route:
          type: string
        usage:
          format: int64
          type: integer
        usage_limit:
          format: int64
          type: integer
      type: object
    LicensetypesGettableActiveLicense:
      properties:
        createdAt:
          format: date-time
          type: string
        eventQueue:
          $ref: '#/components/schemas/LicensetypesLicenseEventQueue'
        features:
          items:
            $ref: '#/components/schemas/LicensetypesFeature'
          type: array
        freeUntil:
          format: date-time
          type: string
        id:
          type: string
        plan:
          $ref: '#/components/schemas/LicensetypesLicensePlan'
        platform:
          type: string
        state:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
        validFrom:
          format: int64
          type: integer
        validUntil:
          format: int64
          type: integer
      required:
      - id
      - validFrom
      - validUntil
      - status
      - state
      - platform
      - freeUntil
      - createdAt
      - updatedAt
      - plan
      - features
      - eventQueue
      type: object
    LicensetypesGettableLicense:
      properties:
        createdAt:
          format: date-time
          type: string
        eventQueue:
          $ref: '#/components/schemas/LicensetypesLicenseEventQueue'
        features:
          items:
            $ref: '#/components/schemas/LicensetypesFeature'
          type: array
        freeUntil:
          format: date-time
          type: string
        id:
          type: string
        plan:
          $ref: '#/components/schemas/LicensetypesLicensePlan'
        platform:
          type: string
        state:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
        validFrom:
          format: int64
          type: integer
        validUntil:
          format: int64
          type: integer
      required:
      - id
      - validFrom
      - validUntil
      - status
      - state
      - platform
      - freeUntil
      - createdAt
      - updatedAt
      - plan
      - features
      - eventQueue
      type: object
    LicensetypesGettableLicenseWithKey:
      properties:
        createdAt:
          format: date-time
          type: string
        eventQueue:
          $ref: '#/components/schemas/LicensetypesLicenseEventQueue'
        features:
          items:
            $ref: '#/components/schemas/LicensetypesFeature'
          type: array
        freeUntil:
          format: date-time
          type: string
        id:
          type: string
        key:
          format: password
          type: string
        plan:
          $ref: '#/components/schemas/LicensetypesLicensePlan'
        platform:
          type: string
        state:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
        validFrom:
          format: int64
          type: integer
        validUntil:
          format: int64
          type: integer
      required:
      - id
      - validFrom
      - validUntil
      - status
      - state
      - platform
      - freeUntil
      - createdAt
      - updatedAt
      - plan
      - features
      - eventQueue
      - key
      type: object
    LicensetypesLicenseEventQueue:
      properties:
        createdAt:
          format: date-time
          type: string
        event:
          type: string
        scheduledAt:
          format: date-time
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - event
      - status
      - scheduledAt
      - createdAt
      - updatedAt
      type: object
    LicensetypesLicensePlan:
      properties:
        createdAt:
          format: date-time
          type: string
        description:
          type: string
        id:
          type: string
        isActive:
          type: boolean
        name:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - description
      - isActive
      - createdAt
      - updatedAt
      type: object
    LicensetypesPostableLicense:
      properties:
        key:
          format: password
          type: string
      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:
          description: End of the time range as a Unix timestamp in milliseconds.
            At most 30 minutes after start.
          format: int64
          type: integer
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: Query builder filter over the metric attributes, for example
            host.name = 'web-1'. Omitting it applies no attribute restriction; inspection
            returns at most 50 series either way.
        metricName:
          description: The name of the metric to inspect.
          type: string
        start:
          description: Start of the time range as a Unix timestamp in milliseconds.
            Must be greater than 0 and less than end.
          format: int64
          type: integer
      required:
      - metricName
      - start
      - end
      type: object
    MetricsexplorertypesInspectMetricsResponse:
      properties:
        series:
          description: Raw time series, at most 50, each with its labels and timestamp-value
            pairs.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          nullable: true
          type: array
      required:
      - series
      type: object
    MetricsexplorertypesListMetric:
      properties:
        description:
          description: Human-readable description from the metric metadata; empty
            when none was reported.
          type: string
        isMonotonic:
          description: True when the metric is a monotonically increasing Sum (a counter).
          type: boolean
        metricName:
          description: The name of the metric.
          type: string
        temporality:
          allOf:
          - $ref: '#/components/schemas/MetrictypesTemporality'
          description: 'Aggregation temporality of the metric: cumulative, delta or
            unspecified.'
        type:
          allOf:
          - $ref: '#/components/schemas/MetrictypesType'
          description: The metric type, such as gauge, sum, histogram, summary or
            exponentialhistogram.
        unit:
          description: The unit reported in the metric metadata, for example ms or
            By; empty when none was reported.
          type: string
      required:
      - metricName
      - description
      - type
      - unit
      - temporality
      - isMonotonic
      type: object
    MetricsexplorertypesListMetricsResponse:
      properties:
        metrics:
          description: Matching metrics with their metadata, ordered by name.
          items:
            $ref: '#/components/schemas/MetricsexplorertypesListMetric'
          nullable: true
          type: array
      required:
      - metrics
      type: object
    MetricsexplorertypesMetricAlert:
      properties:
        alertId:
          description: The id of the alert rule.
          type: string
        alertName:
          description: The name of the alert rule that queries the metric.
          type: string
      required:
      - alertName
      - alertId
      type: object
    MetricsexplorertypesMetricAlertsResponse:
      properties:
        alerts:
          description: Alert rules whose queries reference the metric.
          items:
            $ref: '#/components/schemas/MetricsexplorertypesMetricAlert'
          nullable: true
          type: array
      required:
      - alerts
      type: object
    MetricsexplorertypesMetricAttribute:
      properties:
        key:
          description: The attribute (label) name.
          type: string
        valueCount:
          description: Total number of distinct values observed, which can exceed
            the length of values.
          minimum: 0
          type: integer
        values:
          description: Distinct values observed for the attribute, capped at 1000.
          items:
            type: string
          nullable: true
          type: array
      required:
      - key
      - values
      - valueCount
      type: object
    MetricsexplorertypesMetricAttributesResponse:
      properties:
        attributes:
          description: Attributes of the metric, ordered by distinct value count descending.
          items:
            $ref: '#/components/schemas/MetricsexplorertypesMetricAttribute'
          nullable: true
          type: array
        totalKeys:
          description: Number of attributes returned.
          format: int64
          type: integer
      required:
      - attributes
      - totalKeys
      type: object
    MetricsexplorertypesMetricDashboardPanelsResponse:
      properties:
        dashboards:
          description: One entry per dashboard panel whose query references the metric.
          items:
            $ref: '#/components/schemas/DashboardtypesDashboardPanelRef'
          nullable: true
          type: array
      required:
      - dashboards
      type: object
    MetricsexplorertypesMetricHighlightsResponse:
      properties:
        activeTimeSeries:
          description: 'Number of distinct time series active in the last 120 minutes,
            approximate: a series that last reported early in that window can be missed.'
          minimum: 0
          type: integer
        dataPoints:
          description: Number of samples ingested for the metric over retained data.
          minimum: 0
          type: integer
        lastReceived:
          description: Unix timestamp in milliseconds of the most recently received
            sample.
          minimum: 0
          type: integer
        totalTimeSeries:
          description: Number of distinct time series for the metric over retained
            data.
          minimum: 0
          type: integer
      required:
      - dataPoints
      - lastReceived
      - totalTimeSeries
      - activeTimeSeries
      type: object
    MetricsexplorertypesMetricMetadata:
      properties:
        description:
          description: Human-readable description of the metric; empty when none was
            reported.
          type: string
        isMonotonic:
          description: True when the metric is a monotonically increasing Sum (a counter).
          type: boolean
        temporality:
          allOf:
          - $ref: '#/components/schemas/MetrictypesTemporality'
          description: 'Aggregation temporality of the metric: cumulative, delta or
            unspecified.'
        type:
          allOf:
          - $ref: '#/components/schemas/MetrictypesType'
          description: The metric type, such as gauge, sum, histogram, summary or
            exponentialhistogram.
        unit:
          description: The unit of the metric values, for example ms or By; empty
            when none was reported.
          type: string
      required:
      - description
      - type
      - unit
      - temporality
      - isMonotonic
      type: object
    MetricsexplorertypesMetricsOnboardingResponse:
      properties:
        hasMetrics:
          description: True when at least one metric not emitted by SigNoz itself
            has been ingested.
          type: boolean
      required:
      - hasMetrics
      type: object
    MetricsexplorertypesStat:
      properties:
        description:
          description: Human-readable description from the metric metadata; empty
            when none was reported.
          type: string
        metricName:
          description: The name of the metric.
          type: string
        samples:
          description: Number of samples (data points) ingested for the metric in
            the requested time range.
          minimum: 0
          type: integer
        timeseries:
          description: 'Number of distinct time series active in the time range, approximate:
            it can include series last active shortly before start.'
          minimum: 0
          type: integer
        type:
          allOf:
          - $ref: '#/components/schemas/MetrictypesType'
          description: The metric type, such as gauge, sum, histogram, summary or
            exponentialhistogram.
        unit:
          description: The unit reported in the metric metadata, for example ms or
            By; empty when none was reported.
          type: string
      required:
      - metricName
      - description
      - type
      - unit
      - timeseries
      - samples
      type: object
    MetricsexplorertypesStatsRequest:
      properties:
        end:
          description: End of the time range as a Unix timestamp in milliseconds.
            Must be greater than start.
          format: int64
          type: integer
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: Query builder filter over metric attributes, for example host.name
            = 'web-1'. A bare word matches the metric name. Omitting it applies no
            restriction, but metrics whose name starts with signoz are always excluded.
        limit:
          description: Maximum number of metrics to return, between 1 and 5000.
          type: integer
        offset:
          description: Number of metrics to skip for pagination. Must not be negative;
            defaults to 0.
          type: integer
        orderBy:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          description: Sort order; key.name is timeseries or samples, direction is
            asc or desc. Defaults to samples descending.
        start:
          description: Start of the time range as a Unix timestamp in milliseconds.
            Must be greater than 0 and less than end.
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      type: object
    MetricsexplorertypesStatsResponse:
      properties:
        metrics:
          description: One entry per metric on the requested page, in the requested
            order.
          items:
            $ref: '#/components/schemas/MetricsexplorertypesStat'
          nullable: true
          type: array
        total:
          description: Total number of metrics matching the filter across all pages.
          minimum: 0
          type: integer
      required:
      - metrics
      - total
      type: object
    MetricsexplorertypesTreemapEntry:
      properties:
        metricName:
          description: The name of the metric.
          type: string
        percentage:
          description: Share of the total across all metrics in the time range, from
            0 to 100.
          format: double
          type: number
        totalValue:
          description: Time series count or sample count for the metric, depending
            on the requested mode.
          minimum: 0
          type: integer
      required:
      - metricName
      - percentage
      - totalValue
      type: object
    MetricsexplorertypesTreemapMode:
      enum:
      - timeseries
      - samples
      type: string
    MetricsexplorertypesTreemapRequest:
      properties:
        end:
          description: End of the time range as a Unix timestamp in milliseconds.
            Must be greater than start.
          format: int64
          type: integer
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: Query builder filter over metric attributes, for example host.name
            = 'web-1'. A bare word matches the metric name. Omitting it applies no
            restriction, but metrics whose name starts with signoz are always excluded.
        limit:
          description: Maximum number of metrics to return, between 1 and 5000, ordered
            by percentage descending.
          type: integer
        mode:
          allOf:
          - $ref: '#/components/schemas/MetricsexplorertypesTreemapMode'
          description: 'What each metric is sized by: timeseries counts distinct time
            series; samples counts ingested data points, ranked among a shortlist
            of the metrics with the most time series. Only the matching response array
            is populated.'
        start:
          description: Start of the time range as a Unix timestamp in milliseconds.
            Must be greater than 0 and less than end.
          format: int64
          type: integer
      required:
      - start
      - end
      - limit
      - mode
      type: object
    MetricsexplorertypesTreemapResponse:
      properties:
        samples:
          description: Entries sized by sample count, chosen among the metrics with
            the most time series; populated only when mode is samples.
          items:
            $ref: '#/components/schemas/MetricsexplorertypesTreemapEntry'
          nullable: true
          type: array
        timeseries:
          description: Entries sized by time series count; populated only when mode
            is timeseries.
          items:
            $ref: '#/components/schemas/MetricsexplorertypesTreemapEntry'
          nullable: true
          type: array
      required:
      - timeseries
      - samples
      type: object
    MetricsexplorertypesUpdateMetricMetadataRequest:
      properties:
        description:
          description: Human-readable description of the metric.
          type: string
        isMonotonic:
          description: Whether the metric is a monotonically increasing Sum (a counter).
          type: boolean
        metricName:
          description: The name of the metric whose metadata to replace.
          type: string
        temporality:
          allOf:
          - $ref: '#/components/schemas/MetrictypesTemporality'
          description: Aggregation temporality to store. Required as delta or cumulative
            when type is sum, histogram or exponentialhistogram; gauges are stored
            as unspecified and summaries as cumulative whatever is sent. A non-monotonic
            cumulative sum is stored as a gauge.
        type:
          allOf:
          - $ref: '#/components/schemas/MetrictypesType'
          description: The metric type to store, such as gauge, sum, histogram, summary
            or exponentialhistogram.
        unit:
          description: The unit of the metric values, for example ms or By.
          type: string
      required:
      - metricName
      - type
      - description
      - unit
      - temporality
      - isMonotonic
      type: object
    MetrictypesComparisonSpaceAggregationParam:
      properties:
        operator:
          description: 'Comparison applied to histogram bucket bounds when spaceAggregation
            is count: <= gives the estimated count of observations at or below threshold,
            > the estimated count above it.'
          type: string
        threshold:
          description: Bucket bound the comparison uses, in the unit of the histogram
            metric. The count is exact when threshold equals one of the metric's le
            bucket bounds, and otherwise an estimate interpolated linearly between
            the two nearest bounds.
          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
    PrometheusErrorResponseSchema:
      properties:
        error:
          type: string
        errorType:
          enum:
          - bad_data
          - execution
          - canceled
          - timeout
          - internal
          type: string
        status:
          enum:
          - error
          type: string
      required:
      - status
      - errorType
      - error
      type: object
    PrometheusMatrixDataSchema:
      properties:
        result:
          items:
            $ref: '#/components/schemas/PrometheusMatrixSeriesSchema'
          nullable: true
          type: array
        resultType:
          enum:
          - matrix
          type: string
      required:
      - resultType
      - result
      type: object
    PrometheusMatrixSeriesSchema:
      properties:
        metric:
          additionalProperties:
            type: string
          nullable: true
          type: object
        values:
          items:
            $ref: '#/components/schemas/PrometheusSamplePairSchema'
          nullable: true
          type: array
      required:
      - metric
      - values
      type: object
    PrometheusQueryDataSchema:
      oneOf:
      - $ref: '#/components/schemas/PrometheusMatrixDataSchema'
      - $ref: '#/components/schemas/PrometheusVectorDataSchema'
      - $ref: '#/components/schemas/PrometheusScalarDataSchema'
      - $ref: '#/components/schemas/PrometheusStringDataSchema'
      type: object
    PrometheusSamplePairSchema:
      description: 'A [timestamp, value] pair: float unix seconds, then the string-encoded
        sample value ("NaN", "+Inf", "-Inf" included).'
      items:
        oneOf:
        - type: number
        - type: string
      maxItems: 2
      minItems: 2
      nullable: true
      type: array
    PrometheusScalarDataSchema:
      properties:
        result:
          $ref: '#/components/schemas/PrometheusSamplePairSchema'
        resultType:
          enum:
          - scalar
          type: string
      required:
      - resultType
      - result
      type: object
    PrometheusStringDataSchema:
      properties:
        result:
          $ref: '#/components/schemas/PrometheusSamplePairSchema'
        resultType:
          enum:
          - string
          type: string
      required:
      - resultType
      - result
      type: object
    PrometheusSuccessResponseSchema:
      properties:
        data:
          $ref: '#/components/schemas/PrometheusQueryDataSchema'
        infos:
          items:
            type: string
          type: array
        status:
          enum:
          - success
          type: string
        warnings:
          items:
            type: string
          type: array
      required:
      - status
      - data
      type: object
    PrometheusVectorDataSchema:
      properties:
        result:
          items:
            $ref: '#/components/schemas/PrometheusVectorSampleSchema'
          nullable: true
          type: array
        resultType:
          enum:
          - vector
          type: string
      required:
      - resultType
      - result
      type: object
    PrometheusVectorSampleSchema:
      properties:
        metric:
          additionalProperties:
            type: string
          nullable: true
          type: object
        value:
          $ref: '#/components/schemas/PrometheusSamplePairSchema'
      required:
      - metric
      - value
      type: object
    PromotetypesIndexMaterializedPathsResult:
      properties:
        indexed:
          items:
            $ref: '#/components/schemas/PromotetypesPromotePath'
          nullable: true
          type: array
        skipped:
          items:
            $ref: '#/components/schemas/PromotetypesPromotePath'
          nullable: true
          type: array
      required:
      - indexed
      - skipped
      type: object
    PromotetypesPostableIndexMaterializedPaths:
      properties:
        dryRun:
          type: boolean
        signal:
          type: string
      required:
      - signal
      type: object
    PromotetypesPromotePath:
      properties:
        context:
          type: string
        indexes:
          items:
            $ref: '#/components/schemas/PromotetypesWrappedIndex'
          type: array
        path:
          type: string
        promote:
          type: boolean
        signal:
          type: string
      required:
      - signal
      - context
      - path
      type: object
    PromotetypesWrappedIndex:
      properties:
        fieldDataType:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
        granularity:
          type: integer
        type:
          type: string
      type: object
    Querybuildertypesv5AggregationBucket:
      properties:
        alias:
          description: The alias of the aggregation, or the internal name __result_N,
            with N its index, when no alias was given.
          type: string
        anomalyScores:
          description: The anomaly score per series; present only when the anomaly
            function is applied.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
        index:
          description: The zero-based position of the aggregation in the query.
          type: integer
        lowerBoundSeries:
          description: The lower bound of the expected range per series; present only
            when the anomaly function is applied.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
        meta:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5AggregationMeta'
          description: Display metadata for the aggregation.
        predictedSeries:
          description: The predicted values per series; present only when the anomaly
            function is applied.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
        series:
          description: One series per group-by combination.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          nullable: true
          type: array
        upperBoundSeries:
          description: The upper bound of the expected range per series; present only
            when the anomaly function is applied.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeries'
          type: array
      type: object
    Querybuildertypesv5AggregationMeta:
      properties:
        buckets:
          description: The ascending upper bounds of the value bands, set only for
            heatmap results; each point then carries one count per bound plus a trailing
            overflow count in values.
          items:
            format: double
            type: number
          type: array
        unit:
          description: The unit of the aggregated values, taken from metric metadata
            when known.
          type: string
      type: object
    Querybuildertypesv5BucketOptions:
      discriminator:
        mapping:
          linear: '#/components/schemas/Querybuildertypesv5BucketOptionsLinear'
          log: '#/components/schemas/Querybuildertypesv5BucketOptionsLog'
        propertyName: kind
      oneOf:
      - $ref: '#/components/schemas/Querybuildertypesv5BucketOptionsLinear'
      - $ref: '#/components/schemas/Querybuildertypesv5BucketOptionsLog'
      type: object
    Querybuildertypesv5BucketOptionsLinear:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketsKind'
          description: How the upper bounds are spaced.
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LinearBucketsSpec'
          description: The evenly spaced bucket specification.
      required:
      - kind
      - spec
      type: object
    Querybuildertypesv5BucketOptionsLog:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketsKind'
          description: How the upper bounds are spaced.
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LogBucketsSpec'
          description: The logarithmic bucket specification.
      required:
      - kind
      - spec
      type: object
    Querybuildertypesv5BucketsKind:
      enum:
      - linear
      - log
      type: string
    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:
          description: When true, the result is excluded from the response but the
            query may still run. Defaults to false.
          type: boolean
        legend:
          description: The display name template for each series; {{column}} placeholders
            are replaced by result column values.
          type: string
        name:
          description: The unique name of the query, such as A.
          type: string
        query:
          description: The ClickHouse SQL statement. Reserved time placeholders such
            as {{.start_timestamp}}, {{.end_timestamp}}, {{.start_timestamp_ms}} and
            {{.start_datetime}} and dashboard variables written as {{name}}, [[name]]
            or $name are substituted before execution.
          type: string
      type: object
    Querybuildertypesv5ColumnDescriptor:
      properties:
        aggregationIndex:
          description: The zero-based position of the aggregation in the query for
            aggregation columns.
          format: int64
          type: integer
        columnType:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5ColumnType'
          description: Whether the column is a group-by field (group) or an aggregated
            value (aggregation).
        description:
          description: Human-readable summary of the field, present only for well-known
            fields.
          type: string
        fieldContext:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Where the field lives: resource, attribute, scope, span, trace,
            log, body or metric. Empty means unspecified, so the server resolves it.'
        fieldDataType:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Data type of the field values: string, bool, int64, float64
            or number. Empty means unspecified.'
        meta:
          description: Display metadata for the column.
          properties:
            unit:
              description: The unit of the column values when known.
              type: string
          type: object
        name:
          description: The field name, such as service.name, k8s.pod.name or http.response.status_code.
            Dots are part of the name, and the names available depend on the signal
            and the data ingested.
          type: string
        queryName:
          description: The name of the query that produced the column.
          type: string
        signal:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal the field belongs to: traces, logs or metrics.
            Empty means any signal.'
        unit:
          description: Unit of the field values, present only for well-known fields.
          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:
          description: The queries to run, each wrapped in a type-discriminated envelope.
            Names must be unique; formulas and trace operators reference other queries
            by name.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelope'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5ExecStats:
      description: 'Execution cost of the request: rows and bytes scanned and execution
        time. A measure of cost, not of whether data exists.'
      properties:
        bytesScanned:
          description: Bytes scanned to answer every query in the request. A cost
            indicator only; it does not indicate whether any data matched.
          minimum: 0
          type: integer
        durationMs:
          description: Total execution time across the queries in the request, in
            milliseconds. A cost indicator only, not the request latency and not a
            sign that data exists.
          minimum: 0
          type: integer
        rowsScanned:
          description: 'Rows scanned to answer every query in the request. A cost
            indicator only: rows are scanned whether or not any matched, so it says
            nothing about whether data exists.'
          minimum: 0
          type: integer
        stepIntervals:
          additionalProperties:
            minimum: 0
            type: integer
          description: The step interval in seconds that was used for each query,
            keyed by query name.
          type: object
      type: object
    Querybuildertypesv5Filter:
      properties:
        expression:
          description: 'A filter in the query filter syntax: comparisons such as =,
            !=, <, >, IN, LIKE, CONTAINS and EXISTS on field names, combined with
            AND, OR and NOT, with string values in single quotes, for example key
            = ''value'' AND other_key > 10. Which fields exist depends on the signal
            or endpoint the filter is used with.'
          type: string
      type: object
    Querybuildertypesv5FormatOptions:
      properties:
        fillGaps:
          description: When true, every builder query and formula in a time_series
            result gets a zero value for each missing step, whatever its aggregation,
            so averages and percentiles read as zero where no data exists. PromQL
            and ClickHouse SQL queries keep their gaps. Defaults to false.
          type: boolean
        formatTableResultForUI:
          description: When true, scalar results from several queries are merged into
            one table keyed by their group-by columns. Defaults to false.
          type: boolean
      type: object
    Querybuildertypesv5Function:
      properties:
        args:
          description: The function arguments; which ones are required depends on
            the function, for example a threshold for the cutOff and clamp functions.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5FunctionArg'
          nullable: true
          type: array
        name:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5FunctionName'
          description: The function to apply, such as cutOffMin, cutOffMax, clampMin,
            clampMax, absolute, runningDiff, log2, log10, cumulativeSum, ewma3, ewma5,
            ewma7, median3, median5, median7, timeShift, anomaly or fillZero.
      type: object
    Querybuildertypesv5FunctionArg:
      properties:
        name:
          description: The argument name for functions that take named arguments,
            such as z_score_threshold or seasonality for anomaly.
          type: string
        value:
          description: The argument value as a number, string or boolean, for example
            the threshold for cutOffMin or the duration for timeShift.
          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:
          description: Human-readable summary of the field, present only for well-known
            fields.
          type: string
        fieldContext:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Where the field lives: resource, attribute, scope, span, trace,
            log, body or metric. Empty means unspecified, so the server resolves it.'
        fieldDataType:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Data type of the field values: string, bool, int64, float64
            or number. Empty means unspecified.'
        name:
          description: The field name, such as service.name, k8s.pod.name or http.response.status_code.
            Dots are part of the name, and the names available depend on the signal
            and the data ingested.
          type: string
        signal:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal the field belongs to: traces, logs or metrics.
            Empty means any signal.'
        unit:
          description: Unit of the field values, present only for well-known fields.
          type: string
      required:
      - name
      type: object
    Querybuildertypesv5Having:
      properties:
        expression:
          description: A condition on aggregation results in the filter syntax, referencing
            an alias or expression, for example count() > 100.
          type: string
      type: object
    Querybuildertypesv5Label:
      properties:
        key:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          description: The group-by field this label value belongs to.
        value:
          description: The label value as a string, number or boolean.
          oneOf:
          - type: string
          - type: number
          - type: boolean
      type: object
    Querybuildertypesv5LimitBy:
      properties:
        keys:
          description: The group-by field names that partition the result before the
            limit is applied.
          items:
            type: string
          nullable: true
          type: array
        value:
          description: The aggregation alias or expression whose value ranks entries
            within each partition.
          type: string
      type: object
    Querybuildertypesv5LinearBucketsSpec:
      properties:
        maxValue:
          description: The upper bound of the last regular band; values above it are
            counted in a trailing overflow band.
          format: double
          type: number
        numBuckets:
          description: The number of evenly spaced bands between 0 and maxValue. A
            default applies when omitted or 0.
          type: integer
      required:
      - maxValue
      type: object
    Querybuildertypesv5LogAggregation:
      properties:
        alias:
          description: The name the aggregation is reported under; when omitted, the
            result carries the alias __result_N, with N the zero-based index of the
            aggregation.
          type: string
        expression:
          description: The aggregation over log records, such as count(), sum(item_price),
            count_distinct(user_id) or countIf(day > 10).
          type: string
      type: object
    Querybuildertypesv5LogBucketsSpec:
      properties:
        scale:
          description: 'The exponential histogram scale: 2^scale bands per doubling
            of the value. The maximum supported scale applies when omitted.'
          nullable: true
          type: integer
      type: object
    Querybuildertypesv5MetricAggregation:
      properties:
        comparisonSpaceAggregationParam:
          allOf:
          - $ref: '#/components/schemas/MetrictypesComparisonSpaceAggregationParam'
          description: 'Histogram metrics with spaceAggregation count only: the comparison
            operator and bucket bound used to estimate how many observations fall
            at or below, or above, the threshold. Ignored for other metric types and
            aggregations.'
        metricName:
          description: The name of the metric to query, for example k8s.pod.cpu_request_utilization.
          type: string
        reduceTo:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5ReduceTo'
          description: 'How a series collapses to one number in scalar requests: sum,
            count, avg, min, max, last or median. Ignored by time_series requests.'
        spaceAggregation:
          allOf:
          - $ref: '#/components/schemas/MetrictypesSpaceAggregation'
          description: How series are combined across each group, such as sum, avg,
            min, max or count; histograms take percentiles such as p50, p90, p95 or
            p99.
        temporality:
          allOf:
          - $ref: '#/components/schemas/MetrictypesTemporality'
          description: 'The temporality of the metric: delta, cumulative or unspecified.
            Resolved from the metric metadata when omitted.'
        timeAggregation:
          allOf:
          - $ref: '#/components/schemas/MetrictypesTimeAggregation'
          description: How samples of one series are combined within each step, such
            as avg, sum, min, max, count, count_distinct, latest, rate or increase.
      type: object
    Querybuildertypesv5OrderBy:
      properties:
        direction:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5OrderDirection'
          description: 'The sort direction: asc or desc.'
        key:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5OrderByKey'
          description: 'The sort key. For aggregation requests name is a group-by
            field such as service.name, an aggregation alias, or the aggregation expression:
            count() or p99(duration_nano) for traces and logs; for metrics the spaceAggregation(timeAggregation(metricName))
            form such as sum(rate(signoz_calls_total)), p99(metricName) for histogram
            metrics, or __result. Raw requests sort by any field, such as timestamp.'
      type: object
    Querybuildertypesv5OrderByKey:
      properties:
        description:
          description: Human-readable summary of the field, present only for well-known
            fields.
          type: string
        fieldContext:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Where the field lives: resource, attribute, scope, span, trace,
            log, body or metric. Empty means unspecified, so the server resolves it.'
        fieldDataType:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Data type of the field values: string, bool, int64, float64
            or number. Empty means unspecified.'
        name:
          description: The field name, such as service.name, k8s.pod.name or http.response.status_code.
            Dots are part of the name, and the names available depend on the signal
            and the data ingested.
          type: string
        signal:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal the field belongs to: traces, logs or metrics.
            Empty means any signal.'
        unit:
          description: Unit of the field values, present only for well-known fields.
          type: string
      required:
      - name
      type: object
    Querybuildertypesv5OrderDirection:
      enum:
      - asc
      - desc
      type: string
    Querybuildertypesv5PreviewStatement:
      properties:
        db.statement.args:
          description: The values bound to the statement placeholders, in order.
          items: {}
          type: array
        db.statement.query:
          description: The ClickHouse SQL statement with positional parameter placeholders.
          type: string
        estimate:
          description: The EXPLAIN ESTIMATE rows for the statement; empty unless verbose
            was requested.
          items:
            $ref: '#/components/schemas/TelemetrystoretypesEstimateEntry'
          type: array
        granules:
          allOf:
          - $ref: '#/components/schemas/TelemetrystoretypesGranules'
          description: The granule analysis for the statement; null unless verbose
            was requested.
      required:
      - db.statement.query
      - db.statement.args
      - estimate
      - granules
      type: object
    Querybuildertypesv5PromQuery:
      properties:
        disabled:
          description: When true, the result is excluded from the response but the
            query may still run. Defaults to false.
          type: boolean
        legend:
          description: The display name template for each series; {{label}} placeholders
            are replaced by label values.
          type: string
        name:
          description: The unique name of the query, such as A.
          type: string
        query:
          description: The PromQL expression. Dotted metric and label names must use
            the UTF-8 quoted selector form, for example {'http.server.duration'}.
          type: string
        skipStepAlignment:
          description: When true, start and end are evaluated as given instead of
            rounded down to the step, and the result is not cached. Defaults to false.
          type: boolean
        stats:
          description: Reserved; currently has no effect.
          type: boolean
        step:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The evaluation step: seconds as a number or a Go duration
            string such as 60s. Derived from the time range when omitted.'
      type: object
    Querybuildertypesv5QueryBuilderFormula:
      properties:
        bucketOptions:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketOptions'
          description: The value axis to count the formula result into, as a kind-discriminated
            linear or log bucket spec. Read only by heatmap requests, and only from
            the query they draw.
        disabled:
          description: When true, the result is excluded from the response; the formula
            may still be evaluated. Defaults to false.
          type: boolean
        expression:
          description: An arithmetic expression over builder query names, for example
            A / B * 100. Reference queries, not other formulas.
          type: string
        functions:
          description: Post-processing functions applied in order to each result series.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        having:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Having'
          description: Accepted but currently ignored; the computed values are returned
            unfiltered.
        legend:
          description: The display name template for each series; {{field}} placeholders
            are replaced by label values.
          type: string
        limit:
          description: The maximum number of series or rows to return. Unlimited when
            0.
          type: integer
        name:
          description: The unique name of the formula, such as F1, used by selectedQueryName
            and by panels. Referencing a formula from another formula is not reliable.
          type: string
        order:
          description: The sort order of the formula result.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5LogAggregation:
      properties:
        aggregations:
          description: The aggregations to compute, one result per entry. Traces and
            logs take expressions such as count() or p99(duration_nano); metrics take
            a metricName with time and space aggregations. Omit for raw requests.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5LogAggregation'
          nullable: true
          type: array
        bucketOptions:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketOptions'
          description: The value axis to count this query into, as a kind-discriminated
            linear or log bucket spec. Read only by heatmap requests, and only from
            the query they draw.
        cursor:
          description: The opaque nextCursor value from a previous raw result, used
            to fetch the next page.
          type: string
        disabled:
          description: When true, the result is excluded from the response; the query
            may still run and can still feed a formula or trace operator. Defaults
            to false.
          type: boolean
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: The filter that selects log records, in the query filter syntax,
            for example severity_text = 'ERROR' AND body CONTAINS 'timeout'.
        functions:
          description: Post-processing functions applied in order to each result series,
            such as absolute, cumulativeSum, timeShift or anomaly.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          description: The fields to group aggregations by; each group becomes a series
            or a row with the field as a label or column.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Having'
          description: A filter applied to aggregation results, referencing aliases
            or expressions, for example count() > 100.
        legend:
          description: The display name template for each series; {{field}} placeholders
            are replaced by group-by label values.
          type: string
        limit:
          description: The maximum number of rows for raw requests, or of series or
            rows for grouped aggregations, keeping the top entries by order. When
            0, aggregations are unlimited while raw requests ordered by timestamp
            return a page of 10000 rows; follow nextCursor for the rest.
          type: integer
        limitBy:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
          description: Reserved for applying limit within each combination of the
            given group-by keys. Accepted but currently ignored.
        name:
          description: The unique name of the query, such as A or B; formulas, trace
            operators and selectedQueryName refer to it.
          type: string
        offset:
          description: The number of rows to skip before returning results. Prefer
            cursor for raw requests.
          type: integer
        order:
          description: The sort order of the result. Order by a group-by field, an
            aggregation alias, or for raw requests a selected field such as timestamp.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          description: Accepted but currently ignored, including their nested order,
            limit and limitBy.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          description: 'The fields to return for each row in raw requests, in addition
            to the columns always present: timestamp and id for logs, timestamp, trace_id
            and span_id for traces. Ignored by aggregating requests.'
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          description: 'The telemetry signal to query: traces, logs or metrics. It
            selects the aggregation shape and is required for builder_query.'
          enum:
          - logs
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Set to meter for Cost Meter
            metrics; leave empty for regular telemetry.
        stepInterval:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The time bucket for time_series aggregation: seconds as a
            number or a Go duration string such as 60s or 1m. Derived from the time
            range when omitted.'
      required:
      - signal
      type: object
    Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5MetricAggregation:
      properties:
        aggregations:
          description: The aggregations to compute, one result per entry. Traces and
            logs take expressions such as count() or p99(duration_nano); metrics take
            a metricName with time and space aggregations. Omit for raw requests.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5MetricAggregation'
          nullable: true
          type: array
        bucketOptions:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketOptions'
          description: The value axis to count this query into, as a kind-discriminated
            linear or log bucket spec. Read only by heatmap requests, and only from
            the query they draw.
        cursor:
          description: The opaque nextCursor value from a previous raw result, used
            to fetch the next page.
          type: string
        disabled:
          description: When true, the result is excluded from the response; the query
            may still run and can still feed a formula or trace operator. Defaults
            to false.
          type: boolean
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: The filter that selects series by their attributes, in the
            query filter syntax, for example k8s.namespace.name = 'prod' AND k8s.pod.name
            LIKE 'api%'.
        functions:
          description: Post-processing functions applied in order to each result series,
            such as absolute, cumulativeSum, timeShift or anomaly.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          description: The fields to group aggregations by; each group becomes a series
            or a row with the field as a label or column.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Having'
          description: A filter applied to aggregation results, referencing aliases
            or expressions, for example count() > 100.
        legend:
          description: The display name template for each series; {{field}} placeholders
            are replaced by group-by label values.
          type: string
        limit:
          description: The maximum number of rows for raw requests, or of series or
            rows for grouped aggregations, keeping the top entries by order. When
            0, aggregations are unlimited while raw requests ordered by timestamp
            return a page of 10000 rows; follow nextCursor for the rest.
          type: integer
        limitBy:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
          description: Reserved for applying limit within each combination of the
            given group-by keys. Accepted but currently ignored.
        name:
          description: The unique name of the query, such as A or B; formulas, trace
            operators and selectedQueryName refer to it.
          type: string
        offset:
          description: The number of rows to skip before returning results. Prefer
            cursor for raw requests.
          type: integer
        order:
          description: The sort order of the result. Order by a group-by field, an
            aggregation alias, or for raw requests a selected field such as timestamp.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          description: Accepted but currently ignored, including their nested order,
            limit and limitBy.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          description: 'The fields to return for each row in raw requests, in addition
            to the columns always present: timestamp and id for logs, timestamp, trace_id
            and span_id for traces. Ignored by aggregating requests.'
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          description: 'The telemetry signal to query: traces, logs or metrics. It
            selects the aggregation shape and is required for builder_query.'
          enum:
          - metrics
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Set to meter for Cost Meter
            metrics; leave empty for regular telemetry.
        stepInterval:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The time bucket for time_series aggregation: seconds as a
            number or a Go duration string such as 60s or 1m. Derived from the time
            range when omitted.'
      required:
      - signal
      type: object
    Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation:
      properties:
        aggregations:
          description: The aggregations to compute, one result per entry. Traces and
            logs take expressions such as count() or p99(duration_nano); metrics take
            a metricName with time and space aggregations. Omit for raw requests.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TraceAggregation'
          nullable: true
          type: array
        bucketOptions:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BucketOptions'
          description: The value axis to count this query into, as a kind-discriminated
            linear or log bucket spec. Read only by heatmap requests, and only from
            the query they draw.
        cursor:
          description: The opaque nextCursor value from a previous raw result, used
            to fetch the next page.
          type: string
        disabled:
          description: When true, the result is excluded from the response; the query
            may still run and can still feed a formula or trace operator. Defaults
            to false.
          type: boolean
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: The filter that selects spans, in the query filter syntax,
            for example service.name = 'frontend' AND http.response.status_code >=
            500.
        functions:
          description: Post-processing functions applied in order to each result series,
            such as absolute, cumulativeSum, timeShift or anomaly.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          description: The fields to group aggregations by; each group becomes a series
            or a row with the field as a label or column.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Having'
          description: A filter applied to aggregation results, referencing aliases
            or expressions, for example count() > 100.
        legend:
          description: The display name template for each series; {{field}} placeholders
            are replaced by group-by label values.
          type: string
        limit:
          description: The maximum number of rows for raw requests, or of series or
            rows for grouped aggregations, keeping the top entries by order. When
            0, aggregations are unlimited while raw requests ordered by timestamp
            return a page of 10000 rows; follow nextCursor for the rest.
          type: integer
        limitBy:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
          description: Reserved for applying limit within each combination of the
            given group-by keys. Accepted but currently ignored.
        name:
          description: The unique name of the query, such as A or B; formulas, trace
            operators and selectedQueryName refer to it.
          type: string
        offset:
          description: The number of rows to skip before returning results. Prefer
            cursor for raw requests.
          type: integer
        order:
          description: The sort order of the result. Order by a group-by field, an
            aggregation alias, or for raw requests a selected field such as timestamp.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        secondaryAggregations:
          description: Accepted but currently ignored, including their nested order,
            limit and limitBy.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5SecondaryAggregation'
          nullable: true
          type: array
        selectFields:
          description: 'The fields to return for each row in raw requests, in addition
            to the columns always present: timestamp and id for logs, timestamp, trace_id
            and span_id for traces. Ignored by aggregating requests.'
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        signal:
          description: 'The telemetry signal to query: traces, logs or metrics. It
            selects the aggregation shape and is required for builder_query.'
          enum:
          - traces
          type: string
        source:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Set to meter for Cost Meter
            metrics; leave empty for regular telemetry.
        stepInterval:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The time bucket for time_series aggregation: seconds as a
            number or a Go duration string such as 60s or 1m. Derived from the time
            range when omitted.'
      required:
      - signal
      type: object
    Querybuildertypesv5QueryBuilderTraceOperator:
      properties:
        aggregations:
          description: The aggregations to compute over the matched traces for scalar
            and time_series requests.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TraceAggregation'
          nullable: true
          type: array
        cursor:
          description: Accepted but currently ignored by the trace operator; page
            raw results with offset.
          type: string
        disabled:
          description: When true, the result is excluded from the response but the
            query may still run. Defaults to false.
          type: boolean
        expression:
          description: A trace-structure expression over traces builder query names
            using => for direct child, -> for descendant, && for both present, ||
            for either present and NOT for absence, for example A => B && NOT C. At
            most 10 operators.
          type: string
        filter:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Filter'
          description: Accepted but currently not applied to the matched traces. Put
            filters on the operand queries instead.
        functions:
          description: Post-processing functions applied in order to each result series.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Function'
          nullable: true
          type: array
        groupBy:
          description: The fields to group aggregations by.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        having:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Having'
          description: A condition on the aggregation results, for example count()
            > 10.
        legend:
          description: The display name template for each series; {{field}} placeholders
            are replaced by group-by label values.
          type: string
        limit:
          description: The maximum number of traces or groups to return. For raw requests
            0 means 100 rows; for aggregations 0 means unlimited.
          type: integer
        name:
          description: The unique name of the trace operator query.
          type: string
        offset:
          description: The number of raw results to skip before returning. Aggregation
            requests ignore it.
          type: integer
        order:
          description: The sort order of the matched traces; only span_count and trace_duration
            may be used as keys.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        returnSpansFrom:
          description: The name of the operand query whose spans are returned; when
            empty, the spans matched by the whole expression are returned.
          type: string
        selectFields:
          description: The span fields to return for each row in raw requests, in
            addition to the always-present timestamp, trace_id and span_id columns.
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          nullable: true
          type: array
        stepInterval:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The time bucket for time_series aggregation: seconds as a
            number or a Go duration string such as 60s.'
      type: object
    Querybuildertypesv5QueryData:
      oneOf:
      - $ref: '#/components/schemas/Querybuildertypesv5TimeSeriesData'
      - $ref: '#/components/schemas/Querybuildertypesv5ScalarData'
      - $ref: '#/components/schemas/Querybuildertypesv5RawData'
      properties:
        results:
          description: 'One result per enabled query, typed by the request type: TimeSeriesData
            for time_series, ScalarData for scalar and RawData for raw requests.'
          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:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5BuilderQuerySpec'
          description: The builder query specification.
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryType'
          description: The type of the query.
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeBuilderAI:
      properties:
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderQueryGithubComSigNozSignozPkgTypesQuerybuildertypesQuerybuildertypesv5TraceAggregation'
          description: The AI builder query specification.
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryType'
          description: The type of the query.
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeClickHouseSQL:
      properties:
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5ClickHouseQuery'
          description: The ClickHouse SQL query specification.
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryType'
          description: The type of the query.
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeFormula:
      properties:
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderFormula'
          description: The formula specification.
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryType'
          description: The type of the query.
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopePromQL:
      properties:
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5PromQuery'
          description: The PromQL query specification.
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryType'
          description: The type of the query.
      required:
      - type
      type: object
    Querybuildertypesv5QueryEnvelopeTraceOperator:
      properties:
        spec:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryBuilderTraceOperator'
          description: The trace operator specification.
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryType'
          description: The type of the query.
      required:
      - type
      type: object
    Querybuildertypesv5QueryPreview:
      properties:
        error:
          description: The rendering error when valid is false, otherwise null.
        statements:
          description: 'The rendered statements, returned only when verbose is true:
            one per PromQL metric selector, one for builder, ClickHouse SQL and trace
            operator queries, none for formulas. Empty otherwise.'
          items:
            $ref: '#/components/schemas/Querybuildertypesv5PreviewStatement'
          type: array
        valid:
          description: Whether the query rendered without error.
          type: boolean
        warnings:
          description: Warnings raised while rendering the query.
          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'
          description: The rendered statements for each query, keyed by query name.
          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, trace operators, PromQL, and ClickHouse
        SQL queries.
      properties:
        compositeQuery:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5CompositeQuery'
          description: The queries to execute together; at least one is required and
            formulas may reference the others by name.
        end:
          description: The end of the time range as a Unix timestamp in milliseconds;
            must be greater than start except for raw_stream requests.
          minimum: 0
          type: integer
        formatOptions:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5FormatOptions'
          description: Post-processing applied to the result before it is returned.
        noCache:
          description: When true, results are computed fresh instead of being served
            from the query result cache. Defaults to false.
          type: boolean
        requestType:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5RequestType'
          description: 'The shape of the result: scalar, time_series, raw, raw_stream,
            trace, distribution or heatmap. It decides which result type data.results
            carries.'
        schemaVersion:
          description: The version of the request payload schema, currently v1.
          type: string
        start:
          description: The inclusive start of the time range as a Unix timestamp in
            milliseconds.
          minimum: 0
          type: integer
        variables:
          additionalProperties:
            $ref: '#/components/schemas/Querybuildertypesv5VariableItem'
          description: Dashboard variable values keyed by variable name. Builder filters
            substitute only the $name form and leave a quoted {{name}} unchanged;
            PromQL and ClickHouse SQL substitute $name, {{name}}, [[name]] and the
            Go template form {{.name}}.
          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:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryData'
          description: The query results.
        meta:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5ExecStats'
          description: 'Execution statistics for the whole request: a rough measure
            of how expensive the query was. Use the results, not these numbers, to
            decide whether data exists; an empty result can still scan many rows.'
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5RequestType'
          description: The request type the results are shaped for, echoed from the
            request.
        warning:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5QueryWarnData'
          description: Warnings raised while executing the request, if any.
      type: object
    Querybuildertypesv5QueryType:
      enum:
      - builder_query
      - builder_ai_query
      - builder_formula
      - builder_trace_operator
      - clickhouse_sql
      - promql
      type: string
    Querybuildertypesv5QueryWarnData:
      properties:
        message:
          description: A summary of the warnings raised while executing the request.
          type: string
        url:
          description: A documentation link explaining the warnings.
          type: string
        warnings:
          description: The individual warnings.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryWarnDataAdditional'
          type: array
      type: object
    Querybuildertypesv5QueryWarnDataAdditional:
      properties:
        message:
          description: The warning text.
          type: string
      type: object
    Querybuildertypesv5RawData:
      properties:
        nextCursor:
          description: The cursor to pass in the next request to continue from the
            last row; empty when there are no more rows.
          type: string
        queryName:
          description: The name of the query that produced these rows.
          type: string
        rows:
          description: The matching records in the requested order.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5RawRow'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5RawRow:
      properties:
        data:
          additionalProperties: {}
          description: The selected field values keyed by field name.
          nullable: true
          type: object
        timestamp:
          description: The record timestamp in RFC 3339 format.
          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
      - heatmap
      type: string
    Querybuildertypesv5ScalarData:
      properties:
        columns:
          description: The column definitions, in the same order as the values in
            each data row.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5ColumnDescriptor'
          nullable: true
          type: array
        data:
          description: The rows, each a list of values aligned with columns.
          items:
            items: {}
            type: array
          nullable: true
          type: array
        queryName:
          description: The name of the query that produced this table.
          type: string
      type: object
    Querybuildertypesv5SecondaryAggregation:
      properties:
        alias:
          description: The name the aggregation is reported under; when omitted, the
            result carries the alias __result_N, with N the zero-based index of the
            aggregation.
          type: string
        expression:
          description: The aggregation over the primary results, such as count(),
            sum(item_price) or countIf(day > 10).
          type: string
        groupBy:
          description: The fields to group this aggregation by.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5GroupByKey'
          nullable: true
          type: array
        limit:
          description: The maximum number of groups to return. Unlimited when 0.
          type: integer
        limitBy:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5LimitBy'
          description: Applies limit within each distinct combination of the given
            keys.
        order:
          description: The sort order of this aggregation result.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5OrderBy'
          nullable: true
          type: array
        stepInterval:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5Step'
          description: 'The time bucket for this aggregation: seconds as a number
            or a Go duration string. Uses the primary aggregation step when omitted.'
      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:
          description: The group-by field values that identify this series.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5Label'
          type: array
        values:
          description: The data points of the series in ascending timestamp order.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5TimeSeriesValue'
          nullable: true
          type: array
      type: object
    Querybuildertypesv5TimeSeriesData:
      properties:
        aggregations:
          description: One bucket per aggregation of the query. The order is not guaranteed;
            match buckets to aggregations by index.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5AggregationBucket'
          nullable: true
          type: array
        queryName:
          description: The name of the query that produced this result.
          type: string
      type: object
    Querybuildertypesv5TimeSeriesValue:
      properties:
        partial:
          description: True when the step is only partly covered by the requested
            time range, so the value is incomplete.
          type: boolean
        timestamp:
          description: The start of the step as a Unix timestamp in milliseconds.
          format: int64
          type: integer
        value:
          description: The aggregated value for the step; omitted for heatmap results,
            which use values.
          format: double
          type: number
        values:
          description: The per-band counts for heatmap results, in the order of meta.buckets
            plus a trailing overflow count.
          items:
            format: double
            type: number
          type: array
      type: object
    Querybuildertypesv5TraceAggregation:
      properties:
        alias:
          description: The name the aggregation is reported under; when omitted, the
            result carries the alias __result_N, with N the zero-based index of the
            aggregation.
          type: string
        expression:
          description: The aggregation over spans, such as count(), sum(item_price),
            p99(duration_nano) or countIf(day > 10).
          type: string
      type: object
    Querybuildertypesv5VariableItem:
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5VariableType'
          description: 'The kind of dashboard variable: query, dynamic, custom or
            text.'
        value:
          description: 'The selected value: a string, number or boolean, or a list
            of them for multi-select variables. The string __all__ is special only
            for dynamic variables in builder filters and PromQL, where it removes
            the condition that references the variable; query, custom and text variables,
            and ClickHouse SQL for every type, substitute it literally.'
          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
    QuickfiltertypesSource:
      enum:
      - traces
      - logs
      - api_monitoring
      - exceptions
      - meter
      - ai_observability
      type: string
    QuickfiltertypesSourceFilters:
      properties:
        createdAt:
          format: date-time
          type: string
        filters:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          type: array
        id:
          type: string
        orgId:
          type: string
        source:
          $ref: '#/components/schemas/QuickfiltertypesSource'
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - orgId
      - source
      - filters
      type: object
    QuickfiltertypesUpdatableQuickFilters:
      properties:
        filters:
          items:
            $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
          type: array
      required:
      - filters
      type: object
    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
        relatedAITracesLink:
          type: string
        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
        relatedAITracesLink:
          type: string
        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:
          allOf:
          - $ref: '#/components/schemas/RuletypesPanelType'
          description: 'The panel the UI renders the queries with: graph, table or
            value. Use graph for alerts.'
        queries:
          description: 'The queries to evaluate, at least one. Every envelope type
            must match queryType: builder_query and builder_formula for builder, promql
            for promql, clickhouse_sql for clickhouse_sql.'
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelope'
          nullable: true
          type: array
        queryType:
          allOf:
          - $ref: '#/components/schemas/RuletypesQueryType'
          description: 'The query language of every query: builder, promql or clickhouse_sql.'
        unit:
          description: The unit of the query result, such as percent, ms or bytes.
            Used to format values in notifications and to convert thresholds given
            in a different targetUnit.
          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
      - AI_TRACES_BASED_ALERT
      type: string
    RuletypesBasicRuleThreshold:
      properties:
        channels:
          description: The displayName of each notification channel alerts crossing
            this threshold are sent to. Ignored when notificationSettings.usePolicy
            is true.
          items:
            type: string
          nullable: true
          type: array
        matchType:
          allOf:
          - $ref: '#/components/schemas/RuletypesMatchType'
          description: Which points in the window must satisfy op. Accepted as at_least_once,
            all_the_times, on_average, in_total or last, their aliases avg and sum,
            or the legacy codes as strings, '1' to '5'.
        name:
          description: The threshold name, conventionally critical, error, warning
            or info. Alerts carry it as the threshold.name label and, lowercased,
            as the severity label; templates can read it as $threshold.name.
          type: string
        op:
          allOf:
          - $ref: '#/components/schemas/RuletypesCompareOperator'
          description: How the value is compared with target. Accepted as above, below,
            equal, not_equal, above_or_equal, below_or_equal or outside_bounds, their
            symbols, or the legacy codes as strings, '1' to '7'.
        recoveryTarget:
          description: The value at which a firing alert resolves, in targetUnit.
            Keeps an alert firing between target and recoveryTarget to avoid flapping;
            null resolves at target.
          format: double
          nullable: true
          type: number
        target:
          description: The value the query result is compared against, in targetUnit.
          format: double
          nullable: true
          type: number
        targetUnit:
          description: The unit of target and recoveryTarget, such as percent or ms.
            Converted to the query unit before comparison when the two differ; empty
            means the query unit.
          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:
          description: The day of the month of the reset boundary, 1 to 31. Required
            for monthly.
          nullable: true
          type: integer
        hour:
          description: The hour of the reset boundary, 0 to 23. Required for daily,
            weekly and monthly.
          nullable: true
          type: integer
        minute:
          description: The minute of the reset boundary, 0 to 59. Required for every
            type.
          nullable: true
          type: integer
        type:
          allOf:
          - $ref: '#/components/schemas/RuletypesScheduleType'
          description: 'How often the window resets: hourly, daily, weekly or monthly.'
        weekday:
          description: The weekday of the reset boundary, 0 (Sunday) to 6 (Saturday).
            Required for weekly.
          nullable: true
          type: integer
      required:
      - type
      type: object
    RuletypesCumulativeWindow:
      properties:
        frequency:
          description: How often the rule is evaluated, as a Go duration such as 1m.
            Must be positive.
          type: string
        schedule:
          allOf:
          - $ref: '#/components/schemas/RuletypesCumulativeSchedule'
          description: The boundary the accumulation window starts from. Each evaluation
            queries from the most recent boundary to now.
        timezone:
          description: The IANA time zone the schedule is resolved in, such as UTC
            or Asia/Kolkata.
          type: string
      required:
      - schedule
      - frequency
      - timezone
      type: object
    RuletypesEvaluationCumulative:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/RuletypesEvaluationKind'
          description: The kind of evaluation.
        spec:
          allOf:
          - $ref: '#/components/schemas/RuletypesCumulativeWindow'
          description: The cumulative window evaluation specification.
      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:
          allOf:
          - $ref: '#/components/schemas/RuletypesEvaluationKind'
          description: The kind of evaluation.
        spec:
          allOf:
          - $ref: '#/components/schemas/RuletypesRollingWindow'
          description: The rolling window evaluation specification.
      required:
      - kind
      - spec
      type: object
    RuletypesGettableTestRule:
      properties:
        alertCount:
          description: The number of alerts the test notification produced. Counts
            every evaluated series, including those that did not cross the threshold.
          type: integer
        message:
          description: A human readable summary of the test evaluation.
          type: string
      type: object
    RuletypesLabelPair:
      properties:
        key:
          description: The label name.
          type: string
        value:
          description: The label value.
          type: string
      required:
      - key
      - value
      type: object
    RuletypesListOrder:
      enum:
      - asc
      - desc
      type: string
    RuletypesListSort:
      enum:
      - updated_at
      - created_at
      - name
      - state
      - severity
      type: string
    RuletypesListableRule:
      properties:
        alert:
          description: The display name of the alert rule.
          type: string
        alertType:
          allOf:
          - $ref: '#/components/schemas/RuletypesAlertType'
          description: 'The signal the rule evaluates: METRIC_BASED_ALERT, TRACES_BASED_ALERT,
            LOGS_BASED_ALERT, EXCEPTIONS_BASED_ALERT or AI_TRACES_BASED_ALERT.'
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        description:
          description: A human readable description of what the rule monitors.
          type: string
        disabled:
          description: Whether the rule is paused.
          type: boolean
        id:
          description: The unique identifier of the rule.
          type: string
        labels:
          additionalProperties:
            type: string
          description: The labels attached to alerts the rule fires.
          type: object
        ruleType:
          allOf:
          - $ref: '#/components/schemas/RuletypesRuleType'
          description: 'The evaluation strategy: threshold_rule, promql_rule or anomaly_rule.'
        state:
          allOf:
          - $ref: '#/components/schemas/RuletypesAlertState'
          description: 'The current evaluation state: inactive, pending, recovering,
            firing, nodata or disabled.'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - state
      - alert
      - alertType
      - ruleType
      type: object
    RuletypesListableRuleViews:
      properties:
        views:
          items:
            $ref: '#/components/schemas/RuletypesRuleView'
          type: array
      required:
      - views
      type: object
    RuletypesListableRules:
      properties:
        labels:
          description: Organization-wide label key and value pair suggestions for
            building filters, independent of the current filter and page, capped at
            1000 distinct pairs.
          items:
            $ref: '#/components/schemas/RuletypesLabelPair'
          type: array
        reservedKeywords:
          description: The keys the query filter language reserves, which cannot be
            used as label names in a query.
          items:
            type: string
          type: array
        rules:
          description: The page of rules matching the filter.
          items:
            $ref: '#/components/schemas/RuletypesListableRule'
          type: array
        total:
          description: The number of rules matching the filter across all pages.
          format: int64
          type: integer
      required:
      - rules
      - total
      - labels
      - reservedKeywords
      type: object
    RuletypesMatchType:
      enum:
      - at_least_once
      - all_the_times
      - on_average
      - in_total
      - last
      type: string
    RuletypesNotificationSettings:
      properties:
        groupBy:
          description: Label names whose values group alerts into one notification,
            such as service.name.
          items:
            type: string
          nullable: true
          type: array
        newGroupEvalDelay:
          description: A grace period, as a Go duration such as 2m, during which a
            newly seen label group is excluded from evaluation. Applies to metric
            rules only; log and trace rules are never delayed. A group whose values
            are not yet known is evaluated immediately.
          type: string
        renotify:
          allOf:
          - $ref: '#/components/schemas/RuletypesRenotify'
          description: Whether and how often to re-send a notification for an alert
            that stays active.
        usePolicy:
          description: When true, alerts are routed by the organisation level notification
            policies instead of the channels named on the thresholds. Defaults to
            false.
          type: boolean
      type: object
    RuletypesPanelType:
      enum:
      - value
      - table
      - graph
      type: string
    RuletypesPostableRule:
      properties:
        alert:
          description: The display name of the alert rule.
          type: string
        alertType:
          allOf:
          - $ref: '#/components/schemas/RuletypesAlertType'
          description: 'The signal the rule evaluates: METRIC_BASED_ALERT, TRACES_BASED_ALERT,
            LOGS_BASED_ALERT, EXCEPTIONS_BASED_ALERT or AI_TRACES_BASED_ALERT.'
        annotations:
          additionalProperties:
            type: string
          description: Free text attached to every alert, conventionally summary and
            description. Values may use Go templates with $value, $threshold and $labels.
          type: object
        condition:
          allOf:
          - $ref: '#/components/schemas/RuletypesRuleCondition'
          description: The query to evaluate and the thresholds applied to its result.
        description:
          description: A human readable description of what the rule monitors.
          type: string
        disabled:
          description: Whether the rule is paused. A disabled rule is neither evaluated
            nor notifies. Defaults to false.
          type: boolean
        evalWindow:
          description: The lookback window as a Go duration such as 5m. Only read
            when schemaVersion is v1, defaulting to 5m; v2alpha1 rules set it in evaluation.spec
            instead.
          type: string
        evaluation:
          allOf:
          - $ref: '#/components/schemas/RuletypesEvaluationEnvelope'
          description: The evaluation window, as a kind and spec.
        frequency:
          description: How often the rule is evaluated, as a Go duration such as 1m.
            Only read when schemaVersion is v1, defaulting to 1m; v2alpha1 rules set
            it in evaluation.spec instead.
          type: string
        labels:
          additionalProperties:
            type: string
          description: Labels attached to every alert the rule fires. Keys match [a-zA-Z_.][a-zA-Z0-9_.]*;
            values may use Go templates such as {{$labels.service_name}}. severity
            is the conventional routing label.
          type: object
        notificationSettings:
          allOf:
          - $ref: '#/components/schemas/RuletypesNotificationSettings'
          description: Grouping, re-notification and routing behaviour.
        preferredChannels:
          description: The displayName of each notification channel to notify, for
            schemaVersion v1 rules. Ignored for v2alpha1, where each threshold carries
            its own channels.
          items:
            type: string
          type: array
        ruleType:
          allOf:
          - $ref: '#/components/schemas/RuletypesRuleType'
          description: 'The evaluation strategy: threshold_rule compares against thresholds,
            promql_rule evaluates a PromQL expression, anomaly_rule scores deviation
            from seasonal history. Defaults to threshold_rule for builder and clickhouse_sql
            queries and is forced to promql_rule for promql queries.'
        schemaVersion:
          description: The rule payload schema.
          enum:
          - v2alpha1
          type: string
        source:
          deprecated: true
          description: The URL of the page the rule was created from. Informational;
            it is not used for evaluation.
          type: string
        version:
          deprecated: true
          description: The query payload version. Nothing reads it.
          type: string
      required:
      - alert
      - alertType
      - ruleType
      - condition
      - evaluation
      - schemaVersion
      - notificationSettings
      type: object
    RuletypesPostableRuleView:
      properties:
        data:
          $ref: '#/components/schemas/RuletypesRuleViewData'
        name:
          type: string
      required:
      - name
      - data
      type: object
    RuletypesQueryType:
      enum:
      - builder
      - clickhouse_sql
      - promql
      type: string
    RuletypesRenotify:
      properties:
        alertStates:
          description: 'The alert states that are re-notified: firing, nodata or both.'
          items:
            $ref: '#/components/schemas/RuletypesAlertState'
          nullable: true
          type: array
        enabled:
          description: Whether an active alert is re-sent after interval elapses.
            When false an alert notifies once per firing.
          type: boolean
        interval:
          description: The time between repeat notifications, as a Go duration such
            as 4h. Must be positive when enabled is true.
          type: string
      type: object
    RuletypesRollingWindow:
      properties:
        evalWindow:
          description: The sliding lookback window each evaluation queries, as a Go
            duration such as 5m.
          type: string
        frequency:
          description: How often the rule is evaluated, as a Go duration such as 1m.
            Must be positive.
          type: string
      required:
      - evalWindow
      - frequency
      type: object
    RuletypesRule:
      properties:
        alert:
          description: The display name of the alert rule.
          type: string
        alertType:
          allOf:
          - $ref: '#/components/schemas/RuletypesAlertType'
          description: 'The signal the rule evaluates: METRIC_BASED_ALERT, TRACES_BASED_ALERT,
            LOGS_BASED_ALERT, EXCEPTIONS_BASED_ALERT or AI_TRACES_BASED_ALERT.'
        annotations:
          additionalProperties:
            type: string
          description: Free text attached to every alert, conventionally summary and
            description. Values may use Go templates with $value, $threshold and $labels.
          type: object
        condition:
          allOf:
          - $ref: '#/components/schemas/RuletypesRuleCondition'
          description: The query to evaluate and the thresholds applied to its result.
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        description:
          description: A human readable description of what the rule monitors.
          type: string
        disabled:
          description: Whether the rule is paused. A disabled rule is neither evaluated
            nor notifies. Defaults to false.
          type: boolean
        evalWindow:
          description: The lookback window as a Go duration such as 5m. Only read
            when schemaVersion is v1, defaulting to 5m; v2alpha1 rules set it in evaluation.spec
            instead.
          type: string
        evaluation:
          allOf:
          - $ref: '#/components/schemas/RuletypesEvaluationEnvelope'
          description: The evaluation window, as a kind and spec.
        frequency:
          description: How often the rule is evaluated, as a Go duration such as 1m.
            Only read when schemaVersion is v1, defaulting to 1m; v2alpha1 rules set
            it in evaluation.spec instead.
          type: string
        id:
          description: The unique identifier of the rule.
          type: string
        labels:
          additionalProperties:
            type: string
          description: Labels attached to every alert the rule fires. Keys match [a-zA-Z_.][a-zA-Z0-9_.]*;
            values may use Go templates such as {{$labels.service_name}}. severity
            is the conventional routing label.
          type: object
        notificationSettings:
          allOf:
          - $ref: '#/components/schemas/RuletypesNotificationSettings'
          description: Grouping, re-notification and routing behaviour.
        preferredChannels:
          description: The displayName of each notification channel to notify, for
            schemaVersion v1 rules. Ignored for v2alpha1, where each threshold carries
            its own channels.
          items:
            type: string
          type: array
        ruleType:
          allOf:
          - $ref: '#/components/schemas/RuletypesRuleType'
          description: 'The evaluation strategy: threshold_rule compares against thresholds,
            promql_rule evaluates a PromQL expression, anomaly_rule scores deviation
            from seasonal history. Defaults to threshold_rule for builder and clickhouse_sql
            queries and is forced to promql_rule for promql queries.'
        schemaVersion:
          description: The rule payload schema.
          enum:
          - v2alpha1
          type: string
        source:
          deprecated: true
          description: The URL of the page the rule was created from. Informational;
            it is not used for evaluation.
          type: string
        state:
          allOf:
          - $ref: '#/components/schemas/RuletypesAlertState'
          description: 'The current evaluation state: inactive, pending, recovering,
            firing, nodata or disabled.'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        version:
          deprecated: true
          description: The query payload version. Nothing reads it.
          type: string
      required:
      - id
      - state
      - alert
      - alertType
      - ruleType
      - condition
      - evaluation
      - schemaVersion
      - notificationSettings
      type: object
    RuletypesRuleCondition:
      properties:
        absentFor:
          description: How many minutes without data pass before the nodata alert
            fires. Ignored unless alertOnAbsent is true.
          minimum: 0
          type: integer
        alertOnAbsent:
          description: Whether to fire a nodata alert when the query returns no data.
            Defaults to false.
          type: boolean
        algorithm:
          description: 'anomaly_rule only: the anomaly detection algorithm. The supported
            value is standard.'
          type: string
        compositeQuery:
          allOf:
          - $ref: '#/components/schemas/RuletypesAlertCompositeQuery'
          description: The queries whose result is compared against the thresholds.
        matchType:
          allOf:
          - $ref: '#/components/schemas/RuletypesMatchType'
          description: 'schemaVersion v1 only: which points in the window must satisfy
            op. Accepted as at_least_once, all_the_times, on_average, in_total or
            last, their aliases avg and sum, or the legacy codes as strings, ''1''
            to ''5''. Required for v1; v2alpha1 sets matchType on each threshold.'
        op:
          allOf:
          - $ref: '#/components/schemas/RuletypesCompareOperator'
          description: 'schemaVersion v1 only: how the value is compared with target.
            Accepted as above, below, equal, not_equal, above_or_equal, below_or_equal
            or outside_bounds, their symbols, or the legacy codes as strings, ''1''
            to ''7''. Required for v1; v2alpha1 sets op on each threshold.'
        requireMinPoints:
          description: Whether a series is skipped until it has at least requiredNumPoints
            points in the window. Defaults to false.
          type: boolean
        requiredNumPoints:
          description: The minimum number of points a series needs before it is evaluated.
            Must be greater than 0 when requireMinPoints is true.
          type: integer
        seasonality:
          allOf:
          - $ref: '#/components/schemas/RuletypesSeasonality'
          description: 'anomaly_rule only: the seasonal period the history is compared
            against, hourly, daily or weekly.'
        selectedQueryName:
          description: The name of the query whose result is evaluated, such as A
            or F1. Must match a query in compositeQuery.
          type: string
        target:
          description: 'schemaVersion v1 only: the value compared against, in targetUnit.
            Required for v1; v2alpha1 sets target on each threshold.'
          format: double
          nullable: true
          type: number
        targetUnit:
          description: 'schemaVersion v1 only: the unit of target, such as percent
            or ms. Converted to compositeQuery.unit before comparison when the two
            differ.'
          type: string
        thresholds:
          allOf:
          - $ref: '#/components/schemas/RuletypesRuleThresholdData'
          description: The thresholds to evaluate, as a kind and spec.
      required:
      - compositeQuery
      - selectedQueryName
      - thresholds
      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
    RuletypesRuleView:
      properties:
        createdAt:
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/RuletypesRuleViewData'
        id:
          type: string
        name:
          type: string
        orgId:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - data
      - orgId
      type: object
    RuletypesRuleViewData:
      properties:
        order:
          allOf:
          - $ref: '#/components/schemas/RuletypesListOrder'
          description: 'The sort direction: asc or desc (the default).'
        query:
          description: A filter expression over rule name, description, labels and
            other fields, at most 1024 characters. Empty matches every rule.
          type: string
        sort:
          allOf:
          - $ref: '#/components/schemas/RuletypesListSort'
          description: 'The field to sort by: updated_at (the default), created_at,
            name, state or severity.'
        states:
          description: 'Only return rules in these states: firing, pending, recovering,
            inactive, nodata or disabled. Empty means every state.'
          items:
            type: string
          type: array
        version:
          type: string
      required:
      - version
      type: object
    RuletypesScheduleType:
      enum:
      - hourly
      - daily
      - weekly
      - monthly
      type: string
    RuletypesSeasonality:
      enum:
      - hourly
      - daily
      - weekly
      type: string
    RuletypesThresholdBasic:
      properties:
        kind:
          allOf:
          - $ref: '#/components/schemas/RuletypesThresholdKind'
          description: The kind of threshold.
        spec:
          allOf:
          - $ref: '#/components/schemas/RuletypesBasicRuleThresholds'
          description: The basic threshold specification (array of thresholds).
      required:
      - kind
      - spec
      type: object
    RuletypesThresholdKind:
      enum:
      - basic
      type: string
    SavedviewtypesDisplay:
      properties:
        color:
          description: A CSS color such as a hex code, shown as the view's color in
            the explorer view picker; the saved views panel does not use it. Empty
            leaves the default.
          type: string
        fontSize:
          description: 'The row font size in list views: small, medium or large. Empty
            leaves the explorer default.'
          type: string
        format:
          description: 'The list rendering mode in the logs explorer: raw, table or
            list. Empty leaves the explorer default.'
          type: string
        maxLines:
          description: The number of lines shown per row before the body is truncated
            in logs list views. 0 leaves the explorer default.
          type: integer
      type: object
    SavedviewtypesPanelType:
      enum:
      - value
      - graph
      - table
      - list
      - trace
      type: string
    SavedviewtypesPostableSavedView:
      properties:
        generateName:
          description: When true the server derives name from spec.displayName and
            appends a random suffix. Defaults to false.
          type: boolean
        name:
          description: The machine name of the view, a DNS-1123 label (lowercase letters,
            digits and hyphens, at most 63 characters) unique within the organization.
            Required unless generateName is true, in which case it must be empty.
          type: string
        schemaVersion:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSchemaVersion'
          description: The version of the spec shape. The only accepted value is v2.
        source:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSource'
          description: 'The explorer page the view belongs to: traces, logs, metrics,
            meter or ai_observability. Builder queries inside spec must use the matching
            signal; meter views use signal metrics with source meter.'
        spec:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSavedViewSpec'
          description: The display name, panel type, request type, queries and column
            selection of the view.
      required:
      - source
      - schemaVersion
      - spec
      type: object
    SavedviewtypesSavedView:
      properties:
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        id:
          type: string
        name:
          description: The machine name of the view, a DNS-1123 label unique within
            the organization. Immutable after creation.
          type: string
        schemaVersion:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSchemaVersion'
          description: The version of the spec shape. The only accepted value is v2.
        source:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSource'
          description: 'The explorer page the view belongs to: traces, logs, metrics,
            meter or ai_observability.'
        spec:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSavedViewSpec'
          description: The display name, panel type, request type, queries and column
            selection of the view.
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - schemaVersion
      - spec
      type: object
    SavedviewtypesSavedViewSpec:
      properties:
        display:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesDisplay'
          description: Rendering preferences for list panels. All fields are optional.
        displayName:
          description: The human readable title shown in the explorer. It may differ
            from the machine name and need not be unique.
          type: string
        panelType:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesPanelType'
          description: 'The explorer panel the view renders as: list, graph, table,
            value or trace.'
        queries:
          description: The query envelopes the view runs, in the v5 query builder
            shape. At least one is required and the set is validated for the requestType.
          items:
            $ref: '#/components/schemas/Querybuildertypesv5QueryEnvelope'
          minItems: 1
          type: array
        requestType:
          allOf:
          - $ref: '#/components/schemas/Querybuildertypesv5RequestType'
          description: 'The query_range request type the panel issues: raw for list
            panels, time_series for graphs, scalar for table and value panels, trace
            for trace panels.'
        selectedFields:
          description: 'The columns shown in list panels, each a field key with name
            and optionally signal, fieldContext and fieldDataType. Send explicit columns
            for list views: an empty array yields no trace columns and only the required
            log columns. Use an empty array for graph views.'
          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
      - ai_observability
      type: string
    SavedviewtypesUpdatableSavedView:
      properties:
        schemaVersion:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSchemaVersion'
          description: The version of the spec shape. The only accepted value is v2.
        source:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSource'
          description: 'The explorer page the view belongs to: traces, logs, metrics,
            meter or ai_observability. The machine name cannot be changed; it is identified
            by the id in the path.'
        spec:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSavedViewSpec'
          description: The full replacement spec. Fields left out are reset, not preserved.
      required:
      - source
      - schemaVersion
      - spec
      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
        scope:
          $ref: '#/components/schemas/SpantypesScope'
        spanId:
          type: string
        timestamp:
          minimum: 0
          type: integer
      required:
      - spanId
      - parentSpanId
      - timestamp
      - durationNano
      - hasError
      - name
      - level
      - event
      - attributes
      - resource
      - scope
      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
    SpantypesGettableTraceSummary:
      properties:
        ai:
          $ref: '#/components/schemas/SpantypesTraceAISummary'
        endTimestampMillis:
          minimum: 0
          type: integer
        hasMissingSpans:
          type: boolean
        rootServiceEntryPoint:
          type: string
        rootServiceName:
          type: string
        rootSpanStatusCode:
          type: string
        startTimestampMillis:
          minimum: 0
          type: integer
        totalErrorSpansCount:
          minimum: 0
          type: integer
        totalSpansCount:
          minimum: 0
          type: integer
      required:
      - startTimestampMillis
      - endTimestampMillis
      - rootServiceName
      - rootServiceEntryPoint
      - rootSpanStatusCode
      - totalSpansCount
      - totalErrorSpansCount
      - hasMissingSpans
      type: object
    SpantypesGettableTraceThread:
      properties:
        nextCursor:
          type: string
        prevCursor:
          type: string
        spans:
          items:
            $ref: '#/components/schemas/SpantypesThreadSpan'
          type: array
      required:
      - spans
      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
    SpantypesScope:
      properties:
        attributes:
          additionalProperties: {}
          type: object
        name:
          type: string
        version:
          type: string
      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
        origin:
          $ref: '#/components/schemas/SpantypesSpanMapperOrigin'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
      required:
      - id
      - groupId
      - name
      - fieldContext
      - config
      - enabled
      - origin
      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
        origin:
          $ref: '#/components/schemas/SpantypesSpanMapperOrigin'
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        version:
          type: integer
      required:
      - id
      - orgId
      - name
      - condition
      - enabled
      - origin
      - version
      type: object
    SpantypesSpanMapperGroupCondition:
      nullable: true
      properties:
        attributes:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapperGroupConditionKey'
          nullable: true
          type: array
        resource:
          items:
            $ref: '#/components/schemas/SpantypesSpanMapperGroupConditionKey'
          nullable: true
          type: array
      required:
      - attributes
      - resource
      type: object
    SpantypesSpanMapperGroupConditionKey:
      properties:
        enabled:
          type: boolean
        origin:
          $ref: '#/components/schemas/SpantypesSpanMapperOrigin'
        value:
          type: string
      required:
      - value
      - enabled
      type: object
    SpantypesSpanMapperOperation:
      enum:
      - move
      - copy
      type: string
    SpantypesSpanMapperOrigin:
      enum:
      - user
      - system
      type: string
    SpantypesSpanMapperSource:
      properties:
        context:
          $ref: '#/components/schemas/SpantypesFieldContext'
        enabled:
          type: boolean
        key:
          type: string
        operation:
          $ref: '#/components/schemas/SpantypesSpanMapperOperation'
        origin:
          $ref: '#/components/schemas/SpantypesSpanMapperOrigin'
        priority:
          type: integer
      required:
      - key
      - context
      - operation
      - priority
      - enabled
      type: object
    SpantypesSpanMapperTestSpan:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        resource:
          additionalProperties: {}
          nullable: true
          type: object
      type: object
    SpantypesThreadSpan:
      properties:
        attributes:
          additionalProperties: {}
          type: object
        duration_nano:
          minimum: 0
          type: integer
        events:
          items:
            $ref: '#/components/schemas/SpantypesEvent'
          type: array
        formattedInput:
          $ref: '#/components/schemas/AiobservabilitytypesInputMessages'
        formattedOutput:
          $ref: '#/components/schemas/AiobservabilitytypesOutputMessages'
        formatterWarnings:
          items:
            type: string
          type: array
        has_error:
          type: boolean
        kind_string:
          type: string
        name:
          type: string
        parent_span_id:
          type: string
        references:
          items:
            $ref: '#/components/schemas/SpantypesOtelSpanRef'
          type: array
        resource:
          additionalProperties:
            type: string
          type: object
        span_id:
          type: string
        status_code_string:
          type: string
        status_message:
          type: string
        time_unix:
          minimum: 0
          type: integer
        trace_id:
          type: string
      required:
      - span_id
      - trace_id
      - parent_span_id
      - name
      - kind_string
      - time_unix
      - duration_nano
      - has_error
      - status_code_string
      - status_message
      - resource
      - attributes
      - events
      - references
      - formattedInput
      - formattedOutput
      - formatterWarnings
      type: object
    SpantypesTraceAISummary:
      properties:
        tokens:
          $ref: '#/components/schemas/SpantypesTraceAITokens'
        totalCost:
          type: number
      required:
      - tokens
      type: object
    SpantypesTraceAITokens:
      properties:
        cacheRead:
          minimum: 0
          type: integer
        cacheWrite:
          minimum: 0
          type: integer
        input:
          minimum: 0
          type: integer
        output:
          minimum: 0
          type: integer
        reasoning:
          minimum: 0
          type: integer
      required:
      - input
      - output
      - cacheRead
      - cacheWrite
      - reasoning
      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
        formattedInput:
          $ref: '#/components/schemas/AiobservabilitytypesInputMessages'
        formattedOutput:
          $ref: '#/components/schemas/AiobservabilitytypesOutputMessages'
        formatterWarnings:
          items:
            type: string
          type: array
        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
        scope:
          $ref: '#/components/schemas/SpantypesScope'
        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
    SubscriptiontypesGettableSubscription:
      properties:
        redirectURL:
          type: string
      required:
      - redirectURL
      type: object
    SubscriptiontypesGettableSubscriptionUsage:
      properties:
        billingPeriodEnd:
          format: int64
          type: integer
        billingPeriodStart:
          format: int64
          type: integer
        details:
          $ref: '#/components/schemas/SubscriptiontypesSubscriptionUsageDetails'
        discount:
          format: double
          type: number
        subscriptionStatus:
          type: string
      type: object
    SubscriptiontypesPostableSubscription:
      properties:
        url:
          type: string
      required:
      - url
      type: object
    SubscriptiontypesSubscriptionUsageBreakdown:
      properties:
        dayWiseBreakdown:
          $ref: '#/components/schemas/SubscriptiontypesSubscriptionUsageDayWiseBreakdown'
        tiers:
          items:
            $ref: '#/components/schemas/SubscriptiontypesSubscriptionUsageTier'
          nullable: true
          type: array
        type:
          type: string
        unit:
          type: string
      type: object
    SubscriptiontypesSubscriptionUsageDayWiseBreakdown:
      properties:
        breakdown:
          items:
            $ref: '#/components/schemas/SubscriptiontypesSubscriptionUsageDayWiseData'
          nullable: true
          type: array
        type:
          type: string
      type: object
    SubscriptiontypesSubscriptionUsageDayWiseData:
      properties:
        count:
          format: double
          type: number
        quantity:
          format: double
          type: number
        size:
          format: double
          type: number
        timestamp:
          format: int64
          type: integer
        total:
          format: double
          type: number
        unitPrice:
          format: double
          type: number
      type: object
    SubscriptiontypesSubscriptionUsageDetails:
      properties:
        baseFee:
          format: double
          type: number
        billTotal:
          format: double
          type: number
        breakdown:
          items:
            $ref: '#/components/schemas/SubscriptiontypesSubscriptionUsageBreakdown'
          nullable: true
          type: array
        total:
          format: double
          type: number
      type: object
    SubscriptiontypesSubscriptionUsageTier:
      properties:
        quantity:
          format: double
          type: number
        tierCost:
          format: double
          type: number
        tierEnd:
          format: int64
          type: integer
        tierStart:
          format: int64
          type: integer
        unitPrice:
          format: double
          type: number
      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
      - trace
      - resource
      - scope
      - attribute
      - body
      - ""
      type: string
    TelemetrytypesFieldDataType:
      enum:
      - string
      - bool
      - float64
      - int64
      - number
      - ""
      type: string
    TelemetrytypesGettableFieldKeys:
      properties:
        complete:
          description: True when every matching key was returned; false when the result
            was cut off by limit.
          type: boolean
        keys:
          additionalProperties:
            items:
              $ref: '#/components/schemas/TelemetrytypesTelemetryFieldKey'
            type: array
          description: Matching keys grouped by name. A name maps to several entries
            when it exists in more than one context or data type.
          nullable: true
          type: object
      required:
      - keys
      - complete
      type: object
    TelemetrytypesGettableFieldValues:
      properties:
        complete:
          description: True when every matching value was returned; false when the
            result was cut off by limit.
          type: boolean
        values:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesTelemetryFieldValues'
          description: Distinct values of the key, split by data type.
      required:
      - values
      - complete
      type: object
    TelemetrytypesSignal:
      enum:
      - traces
      - logs
      - metrics
      - ""
      type: string
    TelemetrytypesSource:
      enum:
      - meter
      - ""
      type: string
    TelemetrytypesTelemetryFieldKey:
      properties:
        description:
          description: Human-readable summary of the field, present only for well-known
            fields.
          type: string
        fieldContext:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Where the field lives: resource, attribute, scope, span, trace,
            log, body or metric. Empty means unspecified, so the server resolves it.'
        fieldDataType:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Data type of the field values: string, bool, int64, float64
            or number. Empty means unspecified.'
        name:
          description: The field name, such as service.name, k8s.pod.name or http.response.status_code.
            Dots are part of the name, and the names available depend on the signal
            and the data ingested.
          type: string
        signal:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal the field belongs to: traces, logs or metrics.
            Empty means any signal.'
        unit:
          description: Unit of the field values, present only for well-known fields.
          type: string
      required:
      - name
      type: object
    TelemetrytypesTelemetryFieldValues:
      properties:
        boolValues:
          description: Distinct boolean values of the field.
          items:
            type: boolean
          type: array
        numberValues:
          description: Distinct numeric values of the field, up to limit.
          items:
            format: double
            type: number
          type: array
        relatedValues:
          description: Values of the field seen on data that also matches existingQuery,
            within the startUnixMilli and endUnixMilli bounds. Empty when existingQuery
            is not set.
          items:
            type: string
          type: array
        stringValues:
          description: Distinct string values of the field, up to limit.
          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: support@signoz.io
    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/ai_observability/fields/keys:
    get:
      deprecated: false
      description: This endpoint returns the field keys the AI observability explorer
        can filter on, including the computed per-trace aggregates
      operationId: GetAIObservabilityFieldsKeys
      parameters:
      - in: query
        name: searchText
        schema:
          type: string
      - in: query
        name: fieldContext
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
      - in: query
        name: fieldDataType
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
      - in: query
        name: startUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: endUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: limit
        schema:
          type: integer
      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 AI observability field keys
      tags:
      - ai_observability
      x-signoz-stability: alpha
  /api/v1/ai_observability/fields/values:
    get:
      deprecated: false
      description: This endpoint returns the values the AI observability explorer
        can filter a field key on
      operationId: GetAIObservabilityFieldsValues
      parameters:
      - in: query
        name: searchText
        schema:
          type: string
      - in: query
        name: fieldContext
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldContext'
      - in: query
        name: fieldDataType
        schema:
          $ref: '#/components/schemas/TelemetrytypesFieldDataType'
      - in: query
        name: startUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: endUnixMilli
        schema:
          format: int64
          type: integer
      - in: query
        name: limit
        schema:
          type: integer
      - 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 AI observability field values
      tags:
      - ai_observability
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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:
        - cloud-integration:read
      - tokenizer:
        - cloud-integration:read
      summary: Agent check-in
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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:
        - cloud-integration:list
      - tokenizer:
        - cloud-integration:list
      summary: List accounts
      tags:
      - cloudintegration
      x-signoz-stability: alpha
    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:
        - cloud-integration:create
      - tokenizer:
        - cloud-integration:create
      summary: Create account
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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:
        - cloud-integration:delete
      - tokenizer:
        - cloud-integration:delete
      summary: Disconnect account
      tags:
      - cloudintegration
      x-signoz-stability: alpha
    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:
        - cloud-integration:read
      - tokenizer:
        - cloud-integration:read
      summary: Get account
      tags:
      - cloudintegration
      x-signoz-stability: alpha
    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:
        - cloud-integration:update
      - tokenizer:
        - cloud-integration:update
      summary: Update account
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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:
        - cloud-integration:list
      - tokenizer:
        - cloud-integration:list
      summary: List account services metadata
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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:
        - cloud-integration:read
      - tokenizer:
        - cloud-integration:read
      summary: Get service for account
      tags:
      - cloudintegration
      x-signoz-stability: alpha
    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:
        - cloud-integration:update
      - tokenizer:
        - cloud-integration:update
      summary: Update service
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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:
        - cloud-integration:read
      - tokenizer:
        - cloud-integration:read
      summary: Agent check-in
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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:
        - ingestion-key:create
        - serviceaccount:create
        - factor-api-key:create
        - serviceaccount:attach
        - role:attach
      - tokenizer:
        - ingestion-key:create
        - serviceaccount:create
        - factor-api-key:create
        - serviceaccount:attach
        - role:attach
      summary: Get connection credentials
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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: []
      - tokenizer: []
      summary: List services metadata
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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: []
      - tokenizer: []
      summary: Get service
      tags:
      - cloudintegration
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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:
        - planned-maintenance:list
      - tokenizer:
        - planned-maintenance:list
      summary: List downtime schedules
      tags:
      - downtimeschedules
      x-signoz-stability: alpha
    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:
        - planned-maintenance:create
        - planned-maintenance:attach
        - rule:attach
      - tokenizer:
        - planned-maintenance:create
        - planned-maintenance:attach
        - rule:attach
      summary: Create downtime schedule
      tags:
      - downtimeschedules
      x-signoz-stability: alpha
  /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:
        - planned-maintenance:delete
      - tokenizer:
        - planned-maintenance:delete
      summary: Delete downtime schedule
      tags:
      - downtimeschedules
      x-signoz-stability: alpha
    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:
        - planned-maintenance:read
      - tokenizer:
        - planned-maintenance:read
      summary: Get downtime schedule by ID
      tags:
      - downtimeschedules
      x-signoz-stability: alpha
    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:
        - planned-maintenance:update
        - planned-maintenance:attach
        - planned-maintenance:detach
        - rule:attach
        - rule:detach
      - tokenizer:
        - planned-maintenance:update
        - planned-maintenance:attach
        - planned-maintenance:detach
        - rule:attach
        - rule:detach
      summary: Update downtime schedule
      tags:
      - downtimeschedules
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /api/v1/fields/keys:
    get:
      deprecated: false
      description: This endpoint returns field keys
      operationId: GetFieldsKeys
      parameters:
      - description: 'The signal to look up keys in: traces, logs or metrics. Empty
          searches every signal.'
        in: query
        name: signal
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal to look up keys in: traces, logs or metrics. Empty
            searches every signal.'
      - description: The data source within the signal. Use meter for Cost Meter metrics;
          empty means the default source.
        in: query
        name: source
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Use meter for Cost Meter
            metrics; empty means the default source.
      - description: Maximum number of results per signal. Defaults to 1000 for keys
          and 50 for values. For keys, intrinsic and materialized fields are added
          on top, and an empty signal applies the limit to traces, logs and metrics
          separately, so the response can exceed it.
        in: query
        name: limit
        schema:
          description: Maximum number of results per signal. Defaults to 1000 for
            keys and 50 for values. For keys, intrinsic and materialized fields are
            added on top, and an empty signal applies the limit to traces, logs and
            metrics separately, so the response can exceed it.
          type: integer
      - description: Start of the lookup window in Unix milliseconds, rounded down
          to a 6 hour boundary. Ignored for key lookups and meter lookups; trace and
          log values apply it at calendar-day granularity; metric attribute values
          and relatedValues apply it. Omit for no lower bound.
        in: query
        name: startUnixMilli
        schema:
          description: Start of the lookup window in Unix milliseconds, rounded down
            to a 6 hour boundary. Ignored for key lookups and meter lookups; trace
            and log values apply it at calendar-day granularity; metric attribute
            values and relatedValues apply it. Omit for no lower bound.
          format: int64
          type: integer
      - description: End of the lookup window in Unix milliseconds. Ignored for key
          lookups, trace and log value lookups and meter lookups; applied to metric
          attribute values and relatedValues. Omit for no upper bound.
        in: query
        name: endUnixMilli
        schema:
          description: End of the lookup window in Unix milliseconds. Ignored for
            key lookups, trace and log value lookups and meter lookups; applied to
            metric attribute values and relatedValues. Omit for no upper bound.
          format: int64
          type: integer
      - description: 'Restricts keys to one context: resource, attribute, scope, span,
          trace, log, body or metric. Applied to trace and log keys; metric attribute
          keys ignore it. Empty means any context.'
        in: query
        name: fieldContext
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Restricts keys to one context: resource, attribute, scope,
            span, trace, log, body or metric. Applied to trace and log keys; metric
            attribute keys ignore it. Empty means any context.'
      - description: 'Restricts keys to one data type: string, bool, int64, float64
          or number. Applied to trace and log keys; metric attribute keys ignore it.
          Empty means any type.'
        in: query
        name: fieldDataType
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Restricts keys to one data type: string, bool, int64, float64
            or number. Applied to trace and log keys; metric attribute keys ignore
            it. Empty means any type.'
      - description: Restricts keys to those seen on this metric. Metrics signal only.
        in: query
        name: metricName
        schema:
          description: Restricts keys to those seen on this metric. Metrics signal
            only.
          type: string
      - description: Restricts keys to metrics in this namespace. Metrics signal only.
        in: query
        name: metricNamespace
        schema:
          description: Restricts keys to metrics in this namespace. Metrics signal
            only.
          type: string
      - description: 'Substring to match: against key names for keys, against the
          values of name for values. Case-insensitive except for the meter source,
          where it is case-sensitive and % and _ act as wildcards. For keys, a context
          prefix such as resource.service.name sets fieldContext when it is empty.'
        in: query
        name: searchText
        schema:
          description: 'Substring to match: against key names for keys, against the
            values of name for values. Case-insensitive except for the meter source,
            where it is case-sensitive and % and _ act as wildcards. For keys, a context
            prefix such as resource.service.name sets fieldContext when it is empty.'
          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
      x-signoz-stability: alpha
  /api/v1/fields/values:
    get:
      deprecated: false
      description: This endpoint returns field values
      operationId: GetFieldsValues
      parameters:
      - description: 'The signal to look up keys in: traces, logs or metrics. Empty
          searches every signal.'
        in: query
        name: signal
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal to look up keys in: traces, logs or metrics. Empty
            searches every signal.'
      - description: The data source within the signal. Use meter for Cost Meter metrics;
          empty means the default source.
        in: query
        name: source
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Use meter for Cost Meter
            metrics; empty means the default source.
      - description: Maximum number of results per signal. Defaults to 1000 for keys
          and 50 for values. For keys, intrinsic and materialized fields are added
          on top, and an empty signal applies the limit to traces, logs and metrics
          separately, so the response can exceed it.
        in: query
        name: limit
        schema:
          description: Maximum number of results per signal. Defaults to 1000 for
            keys and 50 for values. For keys, intrinsic and materialized fields are
            added on top, and an empty signal applies the limit to traces, logs and
            metrics separately, so the response can exceed it.
          type: integer
      - description: Start of the lookup window in Unix milliseconds, rounded down
          to a 6 hour boundary. Ignored for key lookups and meter lookups; trace and
          log values apply it at calendar-day granularity; metric attribute values
          and relatedValues apply it. Omit for no lower bound.
        in: query
        name: startUnixMilli
        schema:
          description: Start of the lookup window in Unix milliseconds, rounded down
            to a 6 hour boundary. Ignored for key lookups and meter lookups; trace
            and log values apply it at calendar-day granularity; metric attribute
            values and relatedValues apply it. Omit for no lower bound.
          format: int64
          type: integer
      - description: End of the lookup window in Unix milliseconds. Ignored for key
          lookups, trace and log value lookups and meter lookups; applied to metric
          attribute values and relatedValues. Omit for no upper bound.
        in: query
        name: endUnixMilli
        schema:
          description: End of the lookup window in Unix milliseconds. Ignored for
            key lookups, trace and log value lookups and meter lookups; applied to
            metric attribute values and relatedValues. Omit for no upper bound.
          format: int64
          type: integer
      - description: 'Restricts keys to one context: resource, attribute, scope, span,
          trace, log, body or metric. Applied to trace and log keys; metric attribute
          keys ignore it. Empty means any context.'
        in: query
        name: fieldContext
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Restricts keys to one context: resource, attribute, scope,
            span, trace, log, body or metric. Applied to trace and log keys; metric
            attribute keys ignore it. Empty means any context.'
      - description: 'Restricts keys to one data type: string, bool, int64, float64
          or number. Applied to trace and log keys; metric attribute keys ignore it.
          Empty means any type.'
        in: query
        name: fieldDataType
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Restricts keys to one data type: string, bool, int64, float64
            or number. Applied to trace and log keys; metric attribute keys ignore
            it. Empty means any type.'
      - description: Restricts keys to those seen on this metric. Metrics signal only.
        in: query
        name: metricName
        schema:
          description: Restricts keys to those seen on this metric. Metrics signal
            only.
          type: string
      - description: Restricts keys to metrics in this namespace. Metrics signal only.
        in: query
        name: metricNamespace
        schema:
          description: Restricts keys to metrics in this namespace. Metrics signal
            only.
          type: string
      - description: 'Substring to match: against key names for keys, against the
          values of name for values. Case-insensitive except for the meter source,
          where it is case-sensitive and % and _ act as wildcards. For keys, a context
          prefix such as resource.service.name sets fieldContext when it is empty.'
        in: query
        name: searchText
        schema:
          description: 'Substring to match: against key names for keys, against the
            values of name for values. Case-insensitive except for the meter source,
            where it is case-sensitive and % and _ act as wildcards. For keys, a context
            prefix such as resource.service.name sets fieldContext when it is empty.'
          type: string
      - description: The key whose values to return, such as service.name. A context
          prefix such as resource.service.name sets fieldContext when it is empty.
        in: query
        name: name
        schema:
          description: The key whose values to return, such as service.name. A context
            prefix such as resource.service.name sets fieldContext when it is empty.
          type: string
      - description: Filter expression already applied in the explorer. When set,
          relatedValues lists the values seen on data matching it.
        in: query
        name: existingQuery
        schema:
          description: Filter expression already applied in the explorer. When set,
            relatedValues lists the values seen on data matching it.
          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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    put:
      deprecated: false
      description: Single write endpoint used by both the user and the Zeus sync job.
        Rules without isOverride are matched by sourceId and override rows (is_override=true)
        are skipped. Rules with isOverride are matched by id and inserted when new.
      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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /api/v1/promoted_paths:
    get:
      deprecated: false
      description: This endpoint lists the promoted paths of every JSON column, each
        annotated with its signal and context. The signal, context, promoted and indexes
        query parameters filter the listing.
      operationId: ListPromotedPaths
      parameters:
      - in: query
        name: signal
        schema:
          type: string
      - in: query
        name: context
        schema:
          type: string
      - in: query
        name: promoted
        schema:
          nullable: true
          type: boolean
      - in: query
        name: indexes
        schema:
          nullable: true
          type: boolean
      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:
        - logs-field:list
        - traces-field:list
      - tokenizer:
        - logs-field:list
        - traces-field:list
      summary: List promoted paths
      tags:
      - promote
      x-signoz-stability: alpha
    post:
      deprecated: false
      description: This endpoint promotes paths of JSON columns to their promoted
        columns. Each path names its promotion target with its signal and context,
        e.g. traces/attribute.
      operationId: PromotePaths
      requestBody:
        content:
          application/json:
            examples:
              logs_body:
                summary: 'Logs body: promote a path and index it'
                value:
                - context: body
                  indexes:
                  - fieldDataType: string
                    granularity: 1
                    type: ngrambf_v1(4, 1024, 2, 0)
                  path: user.name
                  promote: true
                  signal: logs
              traces_attribute:
                summary: 'Traces attribute: promote a path'
                value:
                - context: attribute
                  path: http.method
                  promote: true
                  signal: traces
            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:
        - logs-field:update
        - traces-field:update
      - tokenizer:
        - logs-field:update
        - traces-field:update
      summary: Promote paths
      tags:
      - promote
      x-signoz-stability: alpha
  /api/v1/promoted_paths/materialized:
    post:
      deprecated: false
      description: This endpoint indexes the JSON sub-columns of materialized paths
        whose columns are indexed and returns the indexed and skipped paths.
      operationId: IndexMaterializedPaths
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromotetypesPostableIndexMaterializedPaths'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/PromotetypesIndexMaterializedPathsResult'
                  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-field:update
        - traces-field:update
      - tokenizer:
        - logs-field:update
        - traces-field:update
      summary: Index materialized paths
      tags:
      - promote
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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:
        - route-policy:list
      - tokenizer:
        - route-policy:list
      summary: List route policies
      tags:
      - routepolicies
      x-signoz-stability: alpha
    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:
        - route-policy:create
        - route-policy:attach
        - notification-channel:attach
      - tokenizer:
        - route-policy:create
        - route-policy:attach
        - notification-channel:attach
      summary: Create route policy
      tags:
      - routepolicies
      x-signoz-stability: alpha
  /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:
        - route-policy:delete
      - tokenizer:
        - route-policy:delete
      summary: Delete route policy
      tags:
      - routepolicies
      x-signoz-stability: alpha
    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:
        - route-policy:read
      - tokenizer:
        - route-policy:read
      summary: Get route policy by ID
      tags:
      - routepolicies
      x-signoz-stability: alpha
    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:
        - route-policy:update
        - route-policy:attach
        - route-policy:detach
        - notification-channel:attach
        - notification-channel:detach
      - tokenizer:
        - route-policy:update
        - route-policy:attach
        - route-policy:detach
        - notification-channel:attach
        - notification-channel:detach
      summary: Update route policy
      tags:
      - routepolicies
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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: []
      - tokenizer: []
      summary: Get stats
      tags:
      - stats
      x-signoz-stability: alpha
  /api/v1/subscriptions:
    get:
      deprecated: false
      description: This endpoint gets the organization's subscription along with its
        usage and billing details.
      operationId: GetSubscription
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SubscriptiontypesGettableSubscriptionUsage'
                  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:
        - subscription:read
      - tokenizer:
        - subscription:read
      summary: Get the subscription.
      tags:
      - subscriptions
      x-signoz-stability: alpha
    post:
      deprecated: false
      description: This endpoint creates a subscription for the organization.
      operationId: CreateSubscription
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptiontypesPostableSubscription'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SubscriptiontypesGettableSubscription'
                  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:
        - subscription:create
      - tokenizer:
        - subscription:create
      summary: Create a subscription.
      tags:
      - subscriptions
      x-signoz-stability: alpha
    put:
      deprecated: false
      description: This endpoint updates the organization's subscription.
      operationId: UpdateSubscription
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptiontypesPostableSubscription'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SubscriptiontypesGettableSubscription'
                  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:
        - subscription:list
        - subscription:update
      - tokenizer:
        - subscription:list
        - subscription:update
      summary: Update the subscription.
      tags:
      - subscriptions
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /api/v1/traces/{traceID}/summary:
    get:
      deprecated: false
      description: Returns the trace's time range, root span, span and error counts,
        and whether any spans are missing. AI traces also include token and cost totals.
      operationId: GetTraceSummary
      parameters:
      - in: path
        name: traceID
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableTraceSummary'
                  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 summary for a trace
      tags:
      - tracedetail
      x-signoz-stability: alpha
  /api/v1/traces/{traceID}/thread:
    get:
      deprecated: false
      description: Returns the gen_ai spans of a trace, model calls, tool calls and
        agent spans, in timestamp order. The messages a span carries are decoded into
        formattedInput and formattedOutput, with formatterWarnings holding what the
        converter could not resolve; a span without messages has both empty. Pass
        nextCursor as after or prevCursor as before to page, or spanId to open the
        page around a span.
      operationId: GetTraceThread
      parameters:
      - description: Page size, at most 100. 0 means 20.
        in: query
        name: limit
        schema:
          description: Page size, at most 100. 0 means 20.
          type: integer
      - description: The nextCursor of a page; returns the spans after it. Set only
          one of after, before and spanId.
        in: query
        name: after
        schema:
          description: The nextCursor of a page; returns the spans after it. Set only
            one of after, before and spanId.
          type: string
      - description: The prevCursor of a page; returns the spans before it. Set only
          one of after, before and spanId.
        in: query
        name: before
        schema:
          description: The prevCursor of a page; returns the spans before it. Set
            only one of after, before and spanId.
          type: string
      - description: Returns the page around this span. Set only one of after, before
          and spanId.
        in: query
        name: spanId
        schema:
          description: Returns the page around this span. Set only one of after, before
            and spanId.
          type: string
      - in: path
        name: traceID
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/SpantypesGettableTraceThread'
                  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 thread view for a trace
      tags:
      - tracedetail
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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:
        - auth-domain:list
      - tokenizer:
        - auth-domain:list
      summary: List all auth domains
      tags:
      - authdomains
      x-signoz-stability: alpha
    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:
        - auth-domain:create
        - auth-domain:attach
        - role:attach
      - tokenizer:
        - auth-domain:create
        - auth-domain:attach
        - role:attach
      summary: Create auth domain
      tags:
      - authdomains
      x-signoz-stability: alpha
  /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:
        - auth-domain:delete
      - tokenizer:
        - auth-domain:delete
      summary: Delete auth domain
      tags:
      - authdomains
      x-signoz-stability: alpha
    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:
        - auth-domain:read
      - tokenizer:
        - auth-domain:read
      summary: Get auth domain by ID
      tags:
      - authdomains
      x-signoz-stability: alpha
    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:
        - auth-domain:update
        - auth-domain:attach
        - auth-domain:detach
        - role:attach
        - role:detach
      - tokenizer:
        - auth-domain:update
        - auth-domain:attach
        - auth-domain:detach
        - role:attach
        - role:detach
      summary: Update auth domain
      tags:
      - authdomains
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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:
      - description: 'A filter expression over the reserved keys name, description,
          created_at, updated_at, created_by and locked, and over tag keys, using
          the SigNoz filter grammar: comparisons such as =, !=, CONTAINS, LIKE, IN,
          < and >, single-quoted strings, RFC3339 timestamps in quotes for created_at
          and updated_at, combined with AND, OR and NOT, for example name CONTAINS
          ''overview'' AND created_at >= ''2026-10-21T00:00:00Z''. At most 1024 characters.
          Empty matches every dashboard.'
        in: query
        name: query
        schema:
          description: 'A filter expression over the reserved keys name, description,
            created_at, updated_at, created_by and locked, and over tag keys, using
            the SigNoz filter grammar: comparisons such as =, !=, CONTAINS, LIKE,
            IN, < and >, single-quoted strings, RFC3339 timestamps in quotes for created_at
            and updated_at, combined with AND, OR and NOT, for example name CONTAINS
            ''overview'' AND created_at >= ''2026-10-21T00:00:00Z''. At most 1024
            characters. Empty matches every dashboard.'
          type: string
      - description: 'The sort field: updated_at (default), created_at or name.'
        in: query
        name: sort
        schema:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListSort'
          description: 'The sort field: updated_at (default), created_at or name.'
      - description: 'The sort direction: asc or desc (default).'
        in: query
        name: order
        schema:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListOrder'
          description: 'The sort direction: asc or desc (default).'
      - description: The page size. Defaults to 20 and is capped at 200.
        in: query
        name: limit
        schema:
          description: The page size. Defaults to 20 and is capped at 200.
          type: integer
      - description: The number of dashboards to skip. Defaults to 0.
        in: query
        name: offset
        schema:
          description: The number of dashboards to skip. Defaults to 0.
          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
      x-signoz-stability: alpha
    post:
      deprecated: false
      description: This endpoint creates a dashboard in the v2 format that follows
        Perses spec.
      operationId: CreateDashboardV2
      requestBody:
        content:
          application/json:
            examples:
              logs_table_with_runbook:
                description: 'A `signoz/TextPanel` renders markdown and must send
                  `queries: []`. The table counts error logs per service as a scalar
                  result, orders by the `errors` alias and colors cells above 1000
                  errors; the threshold names the column by its key `A` (the query
                  name), not by the alias.'
                summary: Logs dashboard with a text panel and a table panel
                value:
                  name: error-logs-by-service
                  schemaVersion: v6
                  spec:
                    display:
                      description: ""
                      name: Error Logs by Service
                    layouts:
                    - kind: Grid
                      spec:
                        items:
                        - content:
                            $ref: '#/spec/panels/runbook'
                          height: 6
                          width: 4
                          x: 0
                          "y": 0
                        - content:
                            $ref: '#/spec/panels/errors-by-service'
                          height: 6
                          width: 8
                          x: 4
                          "y": 0
                    links: []
                    panels:
                      errors-by-service:
                        kind: Panel
                        spec:
                          display:
                            description: ""
                            name: Error logs per service
                          links: []
                          plugin:
                            kind: signoz/TablePanel
                            spec:
                              formatting:
                                decimalPrecision: "0"
                              thresholds:
                              - color: '#F1575F'
                                columnName: A
                                format: background
                                operator: above
                                value: 1000
                          queries:
                          - kind: scalar
                            spec:
                              name: A
                              plugin:
                                kind: signoz/BuilderQuery
                                spec:
                                  aggregations:
                                  - alias: errors
                                    expression: count()
                                  filter:
                                    expression: severity_text = 'ERROR'
                                  groupBy:
                                  - fieldContext: resource
                                    fieldDataType: string
                                    name: service.name
                                  limit: 20
                                  name: A
                                  order:
                                  - direction: desc
                                    key:
                                      name: errors
                                  signal: logs
                      runbook:
                        kind: Panel
                        spec:
                          display:
                            description: What to do when errors spike
                            name: Runbook
                          links: []
                          plugin:
                            kind: signoz/TextPanel
                            spec:
                              headerOptions:
                                hide: false
                              mode: markdown
                              presentation:
                                textAlign: left
                                verticalAlign: top
                              text: |-
                                ## Error logs

                                1. Find the service with the most errors in the table.
                                2. Open its logs and group by `code.function`.
                          queries: []
                    variables: []
                  tags: []
              service_overview:
                description: A `$service` list variable fed by the observed `service.name`
                  values filters both panels. The time series panel counts spans per
                  service; the number panel renders a single scalar and turns red
                  above 100 errors. `generateName` lets the server derive the name
                  from the display name.
                summary: Service overview with a variable, a time series panel and
                  a number panel
                value:
                  generateName: true
                  schemaVersion: v6
                  spec:
                    display:
                      description: Request rate and errors per service
                      name: Service Overview
                    duration: 1h
                    layouts:
                    - kind: Grid
                      spec:
                        items:
                        - content:
                            $ref: '#/spec/panels/request-rate'
                          height: 6
                          width: 8
                          x: 0
                          "y": 0
                        - content:
                            $ref: '#/spec/panels/error-count'
                          height: 6
                          width: 4
                          x: 8
                          "y": 0
                    links: []
                    panels:
                      error-count:
                        kind: Panel
                        spec:
                          display:
                            description: Spans with an error status
                            name: Errors
                          links: []
                          plugin:
                            kind: signoz/NumberPanel
                            spec:
                              thresholds:
                              - color: '#F1575F'
                                format: background
                                operator: above
                                value: 100
                          queries:
                          - kind: scalar
                            spec:
                              name: A
                              plugin:
                                kind: signoz/BuilderQuery
                                spec:
                                  aggregations:
                                  - alias: errors
                                    expression: count()
                                  filter:
                                    expression: has_error = true AND service.name
                                      IN $service
                                  name: A
                                  signal: traces
                      request-rate:
                        kind: Panel
                        spec:
                          display:
                            description: Spans per service
                            name: Requests
                          links: []
                          plugin:
                            kind: signoz/TimeSeriesPanel
                            spec:
                              formatting:
                                decimalPrecision: "0"
                              legend:
                                position: bottom
                          queries:
                          - kind: time_series
                            spec:
                              name: A
                              plugin:
                                kind: signoz/BuilderQuery
                                spec:
                                  aggregations:
                                  - alias: requests
                                    expression: count()
                                  filter:
                                    expression: service.name IN $service
                                  groupBy:
                                  - fieldContext: resource
                                    fieldDataType: string
                                    name: service.name
                                  legend: '{{service.name}}'
                                  name: A
                                  signal: traces
                    variables:
                    - kind: ListVariable
                      spec:
                        allowAllValue: true
                        allowMultiple: true
                        display:
                          name: Service
                        name: service
                        plugin:
                          kind: signoz/DynamicVariable
                          spec:
                            name: service.name
                            signal: traces
                        sort: alphabetical-asc
                  tags:
                  - key: team
                    value: platform
            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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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:
            examples:
              add_panel:
                description: 'Adding a panel takes two operations: one adds the panel
                  under `/spec/panels/<id>`, the other appends a grid item that references
                  it to the first layout. A panel that no layout places is accepted
                  but not shown.'
                summary: Add a panel and place it
                value:
                - op: add
                  path: /spec/panels/error-rate
                  value:
                    kind: Panel
                    spec:
                      display:
                        description: Errored spans per time bucket
                        name: Error count
                      links: []
                      plugin:
                        kind: signoz/TimeSeriesPanel
                        spec: {}
                      queries:
                      - kind: time_series
                        spec:
                          name: A
                          plugin:
                            kind: signoz/BuilderQuery
                            spec:
                              aggregations:
                              - expression: count()
                              filter:
                                expression: has_error = true
                              name: A
                              signal: traces
                - op: add
                  path: /spec/layouts/0/spec/items/-
                  value:
                    content:
                      $ref: '#/spec/panels/error-rate'
                    height: 6
                    width: 12
                    x: 0
                    "y": 7
              rename:
                description: Replaces the display name without resending anything
                  else.
                summary: Rename a dashboard
                value:
                - op: replace
                  path: /spec/display/name
                  value: Service Overview (production)
            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
      x-signoz-stability: alpha
    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:
            examples:
              replace_dashboard:
                description: 'Update is a full replacement: every field is written
                  as sent, so fetch the dashboard first and resend the unchanged parts.
                  `name` must equal the dashboard''s current name.'
                summary: Replace a dashboard with a single CPU time series panel
                value:
                  name: host-cpu
                  schemaVersion: v6
                  spec:
                    display:
                      description: CPU time by state
                      name: Host CPU
                    duration: 3h
                    layouts:
                    - kind: Grid
                      spec:
                        items:
                        - content:
                            $ref: '#/spec/panels/cpu-time'
                          height: 7
                          width: 12
                          x: 0
                          "y": 0
                    links: []
                    panels:
                      cpu-time:
                        kind: Panel
                        spec:
                          display:
                            description: Rate of system.cpu.time by state
                            name: CPU time
                          links: []
                          plugin:
                            kind: signoz/TimeSeriesPanel
                            spec:
                              chartAppearance:
                                fillMode: gradient
                              legend:
                                position: right
                          queries:
                          - kind: time_series
                            spec:
                              name: A
                              plugin:
                                kind: signoz/BuilderQuery
                                spec:
                                  aggregations:
                                  - metricName: system.cpu.time
                                    spaceAggregation: sum
                                    timeAggregation: rate
                                  groupBy:
                                  - fieldContext: attribute
                                    fieldDataType: string
                                    name: state
                                  legend: '{{state}}'
                                  name: A
                                  signal: metrics
                    refreshInterval: 30s
                    variables: []
                  tags:
                  - key: team
                    value: infra
            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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /api/v2/dashboards/system/{name}:
    get:
      deprecated: false
      description: Returns a dashboard SigNoz ships and owns, addressed by its stable
        definition name (e.g. `ai-o11y-overview`) rather than its id. System dashboards
        are read-only and upgraded through releases. The dashboard's own `name` field
        carries a reserved prefix that the path segment must not include.
      operationId: GetSystemDashboard
      parameters:
      - in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardtypesGettableSystemDashboard'
                  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 system dashboard
      tags:
      - dashboard
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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: []
      - tokenizer: []
      summary: Get features
      tags:
      - features
      x-signoz-stability: alpha
  /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:
        - ingestion-key:list
      - tokenizer:
        - ingestion-key:list
      summary: Get ingestion keys for workspace
      tags:
      - gateway
      x-signoz-stability: alpha
    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:
        - ingestion-key:create
      - tokenizer:
        - ingestion-key:create
      summary: Create ingestion key for workspace
      tags:
      - gateway
      x-signoz-stability: alpha
  /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:
        - ingestion-key:delete
      - tokenizer:
        - ingestion-key:delete
      summary: Delete ingestion key for workspace
      tags:
      - gateway
      x-signoz-stability: alpha
    get:
      deprecated: false
      description: This endpoint returns an ingestion key for the workspace
      operationId: GetIngestionKey
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesIngestionKey'
                  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:
        - ingestion-key:read
      - tokenizer:
        - ingestion-key:read
      summary: Get ingestion key for workspace
      tags:
      - gateway
      x-signoz-stability: alpha
    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:
        - ingestion-key:update
      - tokenizer:
        - ingestion-key:update
      summary: Update ingestion key for workspace
      tags:
      - gateway
      x-signoz-stability: alpha
  /api/v2/gateway/ingestion_keys/{keyId}/limits:
    get:
      deprecated: false
      description: This endpoint returns the ingestion limits for an ingestion key
      operationId: GetIngestionKeyLimits
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/GatewaytypesLimit'
                    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:
        - ingestion-limit:list
      - tokenizer:
        - ingestion-limit:list
      summary: Get limits for the ingestion key
      tags:
      - gateway
      x-signoz-stability: alpha
    post:
      deprecated: true
      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/GatewaytypesDeprecatedPostableIngestionKeyLimit'
      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:
        - ingestion-limit:create
        - ingestion-key:attach
      - tokenizer:
        - ingestion-limit:create
        - ingestion-key:attach
      summary: Create limit for the ingestion key
      tags:
      - gateway
      x-signoz-stability: alpha
  /api/v2/gateway/ingestion_keys/limits/{limitId}:
    delete:
      deprecated: true
      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:
        - ingestion-limit:delete
        - ingestion-key:detach
      - tokenizer:
        - ingestion-limit:delete
        - ingestion-key:detach
      summary: Delete limit for the ingestion key
      tags:
      - gateway
      x-signoz-stability: alpha
    patch:
      deprecated: true
      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:
        - ingestion-limit:update
      - tokenizer:
        - ingestion-limit:update
      summary: Update limit for the ingestion key
      tags:
      - gateway
      x-signoz-stability: alpha
  /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:
        - ingestion-key:list
      - tokenizer:
        - ingestion-key:list
      summary: Search ingestion keys for workspace
      tags:
      - gateway
      x-signoz-stability: alpha
  /api/v2/gateway/ingestion_limits:
    post:
      deprecated: false
      description: This endpoint creates an ingestion limit for the ingestion key
        referenced by keyId
      operationId: CreateIngestionLimit
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKeyLimit'
      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:
        - ingestion-limit:create
        - ingestion-key:attach
      - tokenizer:
        - ingestion-limit:create
        - ingestion-key:attach
      summary: Create ingestion limit
      tags:
      - gateway
      x-signoz-stability: alpha
  /api/v2/gateway/ingestion_limits/{limitId}:
    delete:
      deprecated: false
      description: This endpoint deletes an ingestion limit
      operationId: DeleteIngestionLimit
      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:
        - ingestion-limit:delete
        - ingestion-key:detach
      - tokenizer:
        - ingestion-limit:delete
        - ingestion-key:detach
      summary: Delete ingestion limit
      tags:
      - gateway
      x-signoz-stability: alpha
    get:
      deprecated: false
      description: This endpoint returns an ingestion limit
      operationId: GetIngestionLimit
      parameters:
      - in: path
        name: limitId
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesLimit'
                  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:
        - ingestion-limit:read
      - tokenizer:
        - ingestion-limit:read
      summary: Get ingestion limit
      tags:
      - gateway
      x-signoz-stability: alpha
    patch:
      deprecated: false
      description: This endpoint updates an ingestion limit
      operationId: UpdateIngestionLimit
      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:
        - ingestion-limit:update
      - tokenizer:
        - ingestion-limit:update
      summary: Update ingestion limit
      tags:
      - gateway
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Run Infra Monitoring Setup Checks
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Clusters for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List DaemonSets for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Deployments for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Hosts for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Jobs for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Kubernetes Containers for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Namespaces for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Nodes for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Pods for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List Volumes for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: List StatefulSets for Infra Monitoring
      tags:
      - inframonitoring
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /api/v2/metrics:
    get:
      deprecated: false
      description: This endpoint returns a list of distinct metric names within the
        specified time range
      operationId: ListMetrics
      parameters:
      - description: Start of the time range as a Unix timestamp in milliseconds.
          Must be greater than 0; applied only when end is also set.
        in: query
        name: start
        schema:
          description: Start of the time range as a Unix timestamp in milliseconds.
            Must be greater than 0; applied only when end is also set.
          nullable: true
          type: integer
      - description: End of the time range as a Unix timestamp in milliseconds. Must
          be greater than start; applied only when start is also set.
        in: query
        name: end
        schema:
          description: End of the time range as a Unix timestamp in milliseconds.
            Must be greater than start; applied only when start is also set.
          nullable: true
          type: integer
      - description: Maximum number of metric names to return. Defaults to 100; must
          not exceed 5000.
        in: query
        name: limit
        schema:
          description: Maximum number of metric names to return. Defaults to 100;
            must not exceed 5000.
          type: integer
      - description: Case-insensitive substring to match against metric names.
        in: query
        name: searchText
        schema:
          description: Case-insensitive substring to match against metric names.
          type: string
      - description: Set to meter to list Cost Meter metrics instead of telemetry
          metrics.
        in: query
        name: source
        schema:
          description: Set to meter to list Cost Meter metrics instead of telemetry
            metrics.
          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:
        - metrics-field:list
      - tokenizer:
        - metrics-field:list
      summary: List metric names
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - rule:list
      - tokenizer:
        - rule:list
      summary: Get metric alerts
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - metrics-field:read
      - tokenizer:
        - metrics-field:read
      summary: Get metric attributes
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Get metric highlights
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Inspect raw metric data points
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - metrics-field:read
      - tokenizer:
        - metrics-field:read
      summary: Get metric metadata
      tags:
      - metrics
      x-signoz-stability: alpha
    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:
        - metrics-field:update
      - tokenizer:
        - metrics-field:update
      summary: Update metric metadata
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Check if non-SigNoz metrics have been received
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Get metrics statistics
      tags:
      - metrics
      x-signoz-stability: alpha
  /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:
            examples:
              treemap_samples_filtered:
                description: Sizes each metric by the number of samples ingested,
                  restricted with a query builder filter on a metric attribute. Only
                  the `samples` array of the response is populated.
                summary: Top metrics by sample count for one host
                value:
                  end: 1640998800000
                  filter:
                    expression: host.name = 'web-1'
                  limit: 20
                  mode: samples
                  start: 1640995200000
              treemap_timeseries:
                description: Sizes each metric by the number of distinct time series
                  it produced in the time range, limited to the 50 largest. Only the
                  `timeseries` array of the response is populated.
                summary: Top metrics by time series count
                value:
                  end: 1640998800000
                  limit: 50
                  mode: timeseries
                  start: 1640995200000
            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:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Get metrics treemap
      tags:
      - metrics
      x-signoz-stability: alpha
  /api/v2/notification_channels:
    get:
      deprecated: false
      description: Returns a page of notification channels for the org. Each entry
        carries the channel's identity and kind but not its configuration; fetch a
        channel by ID for that. Supports a case-insensitive display name search (`query`),
        a kind filter (`kind`), sort (`updated_at`/`created_at`/`name`), order (`asc`/`desc`),
        and offset-based pagination (`limit`/`offset`).
      operationId: ListNotificationChannels
      parameters:
      - description: Case-insensitive match on the display name; at most 1024 characters.
        in: query
        name: query
        schema:
          description: Case-insensitive match on the display name; at most 1024 characters.
          type: string
      - description: Only channels of this provider kind.
        in: query
        name: kind
        schema:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelKind'
          description: Only channels of this provider kind.
      - description: 'The sort column: updated_at (default), created_at or name.'
        in: query
        name: sort
        schema:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelListSort'
          description: 'The sort column: updated_at (default), created_at or name.'
      - description: 'The sort order: asc or desc (default).'
        in: query
        name: order
        schema:
          allOf:
          - $ref: '#/components/schemas/AlertmanagertypesChannelListOrder'
          description: 'The sort order: asc or desc (default).'
      - description: The page size; defaults to 20 and is capped at 200.
        in: query
        name: limit
        schema:
          description: The page size; defaults to 20 and is capped at 200.
          type: integer
      - description: The number of channels to skip; defaults to 0.
        in: query
        name: offset
        schema:
          description: The number of channels to skip; defaults to 0.
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesListableNotificationChannel'
                  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:
        - notification-channel:list
      - tokenizer:
        - notification-channel:list
      summary: List notification channels
      tags:
      - channels
      x-signoz-stability: development
    post:
      deprecated: false
      description: This endpoint creates a notification channel
      operationId: CreateNotificationChannel
      requestBody:
        content:
          application/json:
            examples:
              email:
                description: Sends to a comma-separated recipient list. SMTP transport
                  comes from the deployment's global config, so only recipients and
                  body are configurable.
                summary: Email recipients
                value:
                  config:
                    kind: email
                    spec:
                      headers:
                        Subject: '[SigNoz] {{ .CommonLabels.alertname }}'
                      to: oncall@example.com, platform@example.com
                  displayName: Email on-call
                  name: email-oncall
              googlechat:
                description: Posts to a Google Chat space through its webhook URL.
                summary: Google Chat space webhook
                value:
                  config:
                    kind: googlechat
                    spec:
                      webhookUrl: https://chat.googleapis.com/v1/spaces/AAAA0000000/messages?key=XXXX&token=XXXX
                  displayName: Google Chat platform
                  name: googlechat-platform
              incidentio:
                description: Sends alert events to an incident.io HTTP alert source.
                  `url` and `token` are copied from the source's setup page; the token
                  goes without the Bearer prefix.
                summary: incident.io HTTP alert source
                value:
                  config:
                    kind: incidentio
                    spec:
                      metadata:
                        team: platform
                      token: XXXXXXXXXXXXXXXXXXXXXXXX
                      url: https://api.incident.io/v2/alert_events/http/00000000-0000-0000-0000-000000000000
                  displayName: incident.io platform
                  name: incidentio-platform
              jira:
                description: Creates one Jira Cloud issue per alert group and reopens
                  it if the alert fires again within `reopenDuration`. Authenticates
                  with an Atlassian account email and API token.
                summary: Jira Cloud issues
                value:
                  config:
                    kind: jira
                    spec:
                      apiToken: XXXXXXXXXXXXXXXXXXXXXXXX
                      email: oncall@example.com
                      issueType: Bug
                      labels:
                      - signoz
                      - alert
                      project: OPS
                      reopenDuration: 3d
                      site: https://example.atlassian.net
                  displayName: Jira platform
                  name: jira-platform
              jsmops:
                description: Creates JSM Ops alerts through an integration API key.
                  JSM Ops speaks the Opsgenie alert API, so `priority` takes P1 to
                  P5.
                summary: Jira Service Management Ops
                value:
                  config:
                    kind: jsmops
                    spec:
                      apiKey: 00000000-0000-0000-0000-000000000000
                      priority: P1
                      tags: signoz,platform
                  displayName: JSM Ops on-call
                  name: jsmops-oncall
              msteams:
                description: Posts an adaptive card to a Teams channel through an
                  incoming webhook.
                summary: Microsoft Teams incoming webhook
                value:
                  config:
                    kind: msteams
                    spec:
                      webhookUrl: https://example.webhook.office.com/webhookb2/00000000-0000-0000-0000-000000000000
                  displayName: Teams platform
                  name: msteams-platform
              opsgenie:
                description: Creates Opsgenie alerts through an API integration key,
                  pinned to priority P2.
                summary: Opsgenie API integration
                value:
                  config:
                    kind: opsgenie
                    spec:
                      apiKey: 00000000-0000-0000-0000-000000000000
                      priority: P2
                  displayName: Opsgenie SRE
                  name: opsgenie-sre
              pagerduty:
                description: Creates PagerDuty incidents through an Events API v2
                  integration key.
                summary: PagerDuty Events API v2
                value:
                  config:
                    kind: pagerduty
                    spec:
                      routingKey: R0000000000000000000000000000000
                      severity: critical
                  displayName: PagerDuty on-call
                  name: pagerduty-oncall
              slack:
                description: Posts to a Slack channel through an incoming webhook.
                  `sendResolved` is off by default for Slack, so it is turned on here.
                summary: Slack incoming webhook
                value:
                  config:
                    kind: slack
                    spec:
                      apiUrl: https://hooks.slack.com/services/T000/B000/XXXXXXXX
                      channel: '#alerts-platform'
                      sendResolved: true
                  displayName: Slack platform
                  name: slack-platform
              webhook_bearer:
                description: Delivers the Alertmanager webhook payload to an HTTP
                  endpoint. Use either `bearerToken` or `username`/`password`, never
                  both.
                summary: Webhook with a bearer token
                value:
                  config:
                    kind: webhook
                    spec:
                      bearerToken: 00000000-0000-0000-0000-000000000000
                      url: https://alerts.example.com/signoz
                  displayName: Incident bot webhook
                  name: webhook-incident-bot
            schema:
              $ref: '#/components/schemas/AlertmanagertypesPostableNotificationChannel'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesGettableNotificationChannel'
                  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:
        - notification-channel:create
      - tokenizer:
        - notification-channel:create
      summary: Create notification channel
      tags:
      - channels
      x-signoz-stability: development
  /api/v2/notification_channels/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes a notification channel by ID
      operationId: DeleteNotificationChannel
      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:
        - notification-channel:delete
      - tokenizer:
        - notification-channel:delete
      summary: Delete notification channel
      tags:
      - channels
      x-signoz-stability: development
    get:
      deprecated: false
      description: This endpoint returns a notification channel by ID. A channel written
        by the v1 API can carry a configuration this API does not model.
      operationId: GetNotificationChannel
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesGettableNotificationChannel'
                  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:
        - notification-channel:read
      - tokenizer:
        - notification-channel:read
      summary: Get notification channel by ID
      tags:
      - channels
      x-signoz-stability: development
    put:
      deprecated: false
      description: 'This endpoint replaces a notification channel''s configuration
        in full. Neither name is part of the request body: both are immutable. The
        kind may change, which replaces the channel''s notifier configuration.'
      operationId: UpdateNotificationChannel
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              slack_rotate_webhook:
                description: Replaces the stored configuration in full; every field
                  not sent falls back to its default.
                summary: Replace a Slack webhook URL
                value:
                  config:
                    kind: slack
                    spec:
                      apiUrl: https://hooks.slack.com/services/T000/B000/XXXXXXXX
                      channel: '#alerts-platform'
                      sendResolved: true
              switch_to_pagerduty:
                description: The kind may change on update, replacing the channel's
                  notifier configuration while its name and references stay.
                summary: Change the kind to PagerDuty
                value:
                  config:
                    kind: pagerduty
                    spec:
                      routingKey: R0000000000000000000000000000000
                      severity: critical
            schema:
              $ref: '#/components/schemas/AlertmanagertypesUpdatableNotificationChannel'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesGettableNotificationChannel'
                  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:
        - notification-channel:update
      - tokenizer:
        - notification-channel:update
      summary: Update notification channel
      tags:
      - channels
      x-signoz-stability: development
  /api/v2/notification_channels/{id}/repair:
    post:
      deprecated: false
      description: 'This endpoint diagnoses a stored channel that the v2 API cannot
        read and applies the fitting action: a channel carrying several notifier configurations
        is split into one channel per configuration, keeping this ID for the first;
        a channel whose notifier kind v2 does not model is deleted; a channel with
        an empty stored type has it rewritten from its data. A delete is refused while
        a routing policy still names the channel. Nothing is written unless apply=true;
        by default the response only shows what would happen.'
      operationId: RepairNotificationChannel
      parameters:
      - description: Apply the diagnosed action; defaults to false, a dry run that
          only reports it.
        in: query
        name: apply
        schema:
          description: Apply the diagnosed action; defaults to false, a dry run that
            only reports it.
          type: boolean
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertmanagertypesRepairChannelParams'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/AlertmanagertypesChannelRepair'
                  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:
        - notification-channel:update
      - tokenizer:
        - notification-channel:update
      summary: Repair notification channel
      tags:
      - channels
      x-signoz-stability: development
  /api/v2/notification_channels/test:
    post:
      deprecated: false
      description: This endpoint sends a test notification for the configuration in
        the request body. The channel need not exist and nothing is persisted, so
        the body carries a configuration only.
      operationId: TestNotificationChannel
      requestBody:
        content:
          application/json:
            examples:
              slack:
                summary: Test a Slack webhook
                value:
                  config:
                    kind: slack
                    spec:
                      apiUrl: https://hooks.slack.com/services/T000/B000/XXXXXXXX
                      channel: '#alerts-platform'
                      sendResolved: true
              webhook:
                summary: Test a webhook endpoint
                value:
                  config:
                    kind: webhook
                    spec:
                      bearerToken: 00000000-0000-0000-0000-000000000000
                      url: https://alerts.example.com/signoz
            schema:
              $ref: '#/components/schemas/AlertmanagertypesTestableNotificationChannel'
      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:
        - notification-channel:create
      - tokenizer:
        - notification-channel:create
      summary: Test notification channel
      tags:
      - channels
      x-signoz-stability: development
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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:
      - description: Start of the time range as a Unix timestamp in milliseconds.
          Honored only when the public dashboard has timeRangeEnabled.
        in: query
        name: startTime
        required: false
        schema:
          description: Start of the time range as a Unix timestamp in milliseconds.
            Honored only when the public dashboard has timeRangeEnabled.
          type: string
      - description: End of the time range as a Unix timestamp in milliseconds. Honored
          only when the public dashboard has timeRangeEnabled.
        in: query
        name: endTime
        required: false
        schema:
          description: End of the time range as a Unix timestamp in milliseconds.
            Honored only when the public dashboard has timeRangeEnabled.
          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
      x-signoz-stability: alpha
  /api/v2/quick_filters:
    get:
      deprecated: false
      description: Returns the org's quick filters for every source, each filter as
        a telemetry field key.
      operationId: ListQuickFilters
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/QuickfiltertypesSourceFilters'
                    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:
        - quick-filter:list
      - tokenizer:
        - quick-filter:list
      summary: List quick filters
      tags:
      - quick_filter
      x-signoz-stability: alpha
  /api/v2/quick_filters/{source}:
    get:
      deprecated: false
      description: Returns the org's quick filters for one source, each filter as
        a telemetry field key.
      operationId: GetQuickFilters
      parameters:
      - in: path
        name: source
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/QuickfiltertypesSourceFilters'
                  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:
        - quick-filter:read
      - tokenizer:
        - quick-filter:read
      summary: Get a source's quick filters
      tags:
      - quick_filter
      x-signoz-stability: alpha
    put:
      deprecated: false
      description: Replaces the org's quick filters for the source named in the path.
      operationId: UpdateQuickFilters
      parameters:
      - in: path
        name: source
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuickfiltertypesUpdatableQuickFilters'
      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:
        - quick-filter:update
      - tokenizer:
        - quick-filter:update
      summary: Update quick filters
      tags:
      - quick_filter
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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:
        - role:read
      - tokenizer:
        - role:read
      summary: Get users by role id
      tags:
      - users
      x-signoz-stability: alpha
  /api/v2/rule_views:
    get:
      deprecated: false
      description: Returns every saved view in the calling user's org. Saved views
        are shared org-wide.
      operationId: ListRuleViews
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesListableRuleViews'
                  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:
        - rule:list
      - tokenizer:
        - rule:list
      summary: List rule saved views
      tags:
      - rules
      x-signoz-stability: alpha
    post:
      deprecated: false
      description: Persists the calling user's rule listing state (query, states,
        sort, order) as a named, reusable view shared across the org.
      operationId: CreateRuleView
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuletypesPostableRuleView'
      responses:
        "201":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesRuleView'
                  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:
        - rule:list
      - tokenizer:
        - rule:list
      summary: Create rule saved view
      tags:
      - rules
      x-signoz-stability: alpha
  /api/v2/rule_views/{id}:
    delete:
      deprecated: false
      description: Removes a saved view. Saved views are shared org-wide. Deleting
        a non-existent view returns 404.
      operationId: DeleteRuleView
      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:
        - rule:list
      - tokenizer:
        - rule:list
      summary: Delete rule saved view
      tags:
      - rules
      x-signoz-stability: alpha
    put:
      deprecated: false
      description: Replaces a saved view's name and data. Saved views are shared org-wide.
      operationId: UpdateRuleView
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuletypesPostableRuleView'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesRuleView'
                  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:
        - rule:list
      - tokenizer:
        - rule:list
      summary: Update rule saved view
      tags:
      - rules
      x-signoz-stability: alpha
  /api/v2/rules:
    get:
      deprecated: true
      description: 'This endpoint lists all alert rules with their current evaluation
        state. Deprecated: use ListRulesV3, which supports filtering, sorting and
        pagination.'
      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
      x-signoz-stability: alpha
    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: Wraps a builder query in the `anomaly` function with
                  daily seasonality, so SigNoz compares each point against the forecast
                  for that time of day. The threshold is compared against the signed
                  anomaly score, so `below` with a target of -2 fires when an abrupt
                  drop holds for the entire window; `requireMinPoints` guards against
                  noisy intervals.
                summary: Metric anomaly rule
                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
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-ingestion
                        matchType: all_the_times
                        name: warning
                        op: below
                        target: -2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 24h
                      frequency: 3h
                  labels:
                    severity: warning
                  notificationSettings:
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: anomaly_rule
                  schemaVersion: v2alpha1
                  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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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: Wraps a builder query in the `anomaly` function with
                  daily seasonality, so SigNoz compares each point against the forecast
                  for that time of day. The threshold is compared against the signed
                  anomaly score, so `below` with a target of -2 fires when an abrupt
                  drop holds for the entire window; `requireMinPoints` guards against
                  noisy intervals.
                summary: Metric anomaly rule
                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
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-ingestion
                        matchType: all_the_times
                        name: warning
                        op: below
                        target: -2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 24h
                      frequency: 3h
                  labels:
                    severity: warning
                  notificationSettings:
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: anomaly_rule
                  schemaVersion: v2alpha1
                  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
      x-signoz-stability: alpha
    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: Wraps a builder query in the `anomaly` function with
                  daily seasonality, so SigNoz compares each point against the forecast
                  for that time of day. The threshold is compared against the signed
                  anomaly score, so `below` with a target of -2 fires when an abrupt
                  drop holds for the entire window; `requireMinPoints` guards against
                  noisy intervals.
                summary: Metric anomaly rule
                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
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-ingestion
                        matchType: all_the_times
                        name: warning
                        op: below
                        target: -2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 24h
                      frequency: 3h
                  labels:
                    severity: warning
                  notificationSettings:
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: anomaly_rule
                  schemaVersion: v2alpha1
                  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
      x-signoz-stability: alpha
  /api/v2/rules/{id}/clone:
    post:
      deprecated: false
      description: This endpoint creates a new alert rule from the stored definition
        of an existing one. The clone keeps every modeled field of the source, including
        its enabled/disabled state, and gets the source's name suffixed with " - Copy"
        (or a bumped " - Copy (n)" counter when the source is itself a copy). The
        clone is owned by the caller.
      operationId: CloneRuleByID
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      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
        "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: Clone alert rule
      tags:
      - rules
      x-signoz-stability: alpha
  /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:
      - description: 'The signal to look up keys in: traces, logs or metrics. Empty
          searches every signal.'
        in: query
        name: signal
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal to look up keys in: traces, logs or metrics. Empty
            searches every signal.'
      - description: The data source within the signal. Use meter for Cost Meter metrics;
          empty means the default source.
        in: query
        name: source
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Use meter for Cost Meter
            metrics; empty means the default source.
      - description: Maximum number of results per signal. Defaults to 1000 for keys
          and 50 for values. For keys, intrinsic and materialized fields are added
          on top, and an empty signal applies the limit to traces, logs and metrics
          separately, so the response can exceed it.
        in: query
        name: limit
        schema:
          description: Maximum number of results per signal. Defaults to 1000 for
            keys and 50 for values. For keys, intrinsic and materialized fields are
            added on top, and an empty signal applies the limit to traces, logs and
            metrics separately, so the response can exceed it.
          type: integer
      - description: Start of the lookup window in Unix milliseconds, rounded down
          to a 6 hour boundary. Ignored for key lookups and meter lookups; trace and
          log values apply it at calendar-day granularity; metric attribute values
          and relatedValues apply it. Omit for no lower bound.
        in: query
        name: startUnixMilli
        schema:
          description: Start of the lookup window in Unix milliseconds, rounded down
            to a 6 hour boundary. Ignored for key lookups and meter lookups; trace
            and log values apply it at calendar-day granularity; metric attribute
            values and relatedValues apply it. Omit for no lower bound.
          format: int64
          type: integer
      - description: End of the lookup window in Unix milliseconds. Ignored for key
          lookups, trace and log value lookups and meter lookups; applied to metric
          attribute values and relatedValues. Omit for no upper bound.
        in: query
        name: endUnixMilli
        schema:
          description: End of the lookup window in Unix milliseconds. Ignored for
            key lookups, trace and log value lookups and meter lookups; applied to
            metric attribute values and relatedValues. Omit for no upper bound.
          format: int64
          type: integer
      - description: 'Restricts keys to one context: resource, attribute, scope, span,
          trace, log, body or metric. Applied to trace and log keys; metric attribute
          keys ignore it. Empty means any context.'
        in: query
        name: fieldContext
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Restricts keys to one context: resource, attribute, scope,
            span, trace, log, body or metric. Applied to trace and log keys; metric
            attribute keys ignore it. Empty means any context.'
      - description: 'Restricts keys to one data type: string, bool, int64, float64
          or number. Applied to trace and log keys; metric attribute keys ignore it.
          Empty means any type.'
        in: query
        name: fieldDataType
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Restricts keys to one data type: string, bool, int64, float64
            or number. Applied to trace and log keys; metric attribute keys ignore
            it. Empty means any type.'
      - description: Restricts keys to those seen on this metric. Metrics signal only.
        in: query
        name: metricName
        schema:
          description: Restricts keys to those seen on this metric. Metrics signal
            only.
          type: string
      - description: Restricts keys to metrics in this namespace. Metrics signal only.
        in: query
        name: metricNamespace
        schema:
          description: Restricts keys to metrics in this namespace. Metrics signal
            only.
          type: string
      - description: 'Substring to match: against key names for keys, against the
          values of name for values. Case-insensitive except for the meter source,
          where it is case-sensitive and % and _ act as wildcards. For keys, a context
          prefix such as resource.service.name sets fieldContext when it is empty.'
        in: query
        name: searchText
        schema:
          description: 'Substring to match: against key names for keys, against the
            values of name for values. Case-insensitive except for the meter source,
            where it is case-sensitive and % and _ act as wildcards. For keys, a context
            prefix such as resource.service.name sets fieldContext when it is empty.'
          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
      x-signoz-stability: alpha
  /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:
      - description: 'The signal to look up keys in: traces, logs or metrics. Empty
          searches every signal.'
        in: query
        name: signal
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSignal'
          description: 'The signal to look up keys in: traces, logs or metrics. Empty
            searches every signal.'
      - description: The data source within the signal. Use meter for Cost Meter metrics;
          empty means the default source.
        in: query
        name: source
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesSource'
          description: The data source within the signal. Use meter for Cost Meter
            metrics; empty means the default source.
      - description: Maximum number of results per signal. Defaults to 1000 for keys
          and 50 for values. For keys, intrinsic and materialized fields are added
          on top, and an empty signal applies the limit to traces, logs and metrics
          separately, so the response can exceed it.
        in: query
        name: limit
        schema:
          description: Maximum number of results per signal. Defaults to 1000 for
            keys and 50 for values. For keys, intrinsic and materialized fields are
            added on top, and an empty signal applies the limit to traces, logs and
            metrics separately, so the response can exceed it.
          type: integer
      - description: Start of the lookup window in Unix milliseconds, rounded down
          to a 6 hour boundary. Ignored for key lookups and meter lookups; trace and
          log values apply it at calendar-day granularity; metric attribute values
          and relatedValues apply it. Omit for no lower bound.
        in: query
        name: startUnixMilli
        schema:
          description: Start of the lookup window in Unix milliseconds, rounded down
            to a 6 hour boundary. Ignored for key lookups and meter lookups; trace
            and log values apply it at calendar-day granularity; metric attribute
            values and relatedValues apply it. Omit for no lower bound.
          format: int64
          type: integer
      - description: End of the lookup window in Unix milliseconds. Ignored for key
          lookups, trace and log value lookups and meter lookups; applied to metric
          attribute values and relatedValues. Omit for no upper bound.
        in: query
        name: endUnixMilli
        schema:
          description: End of the lookup window in Unix milliseconds. Ignored for
            key lookups, trace and log value lookups and meter lookups; applied to
            metric attribute values and relatedValues. Omit for no upper bound.
          format: int64
          type: integer
      - description: 'Restricts keys to one context: resource, attribute, scope, span,
          trace, log, body or metric. Applied to trace and log keys; metric attribute
          keys ignore it. Empty means any context.'
        in: query
        name: fieldContext
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldContext'
          description: 'Restricts keys to one context: resource, attribute, scope,
            span, trace, log, body or metric. Applied to trace and log keys; metric
            attribute keys ignore it. Empty means any context.'
      - description: 'Restricts keys to one data type: string, bool, int64, float64
          or number. Applied to trace and log keys; metric attribute keys ignore it.
          Empty means any type.'
        in: query
        name: fieldDataType
        schema:
          allOf:
          - $ref: '#/components/schemas/TelemetrytypesFieldDataType'
          description: 'Restricts keys to one data type: string, bool, int64, float64
            or number. Applied to trace and log keys; metric attribute keys ignore
            it. Empty means any type.'
      - description: Restricts keys to those seen on this metric. Metrics signal only.
        in: query
        name: metricName
        schema:
          description: Restricts keys to those seen on this metric. Metrics signal
            only.
          type: string
      - description: Restricts keys to metrics in this namespace. Metrics signal only.
        in: query
        name: metricNamespace
        schema:
          description: Restricts keys to metrics in this namespace. Metrics signal
            only.
          type: string
      - description: 'Substring to match: against key names for keys, against the
          values of name for values. Case-insensitive except for the meter source,
          where it is case-sensitive and % and _ act as wildcards. For keys, a context
          prefix such as resource.service.name sets fieldContext when it is empty.'
        in: query
        name: searchText
        schema:
          description: 'Substring to match: against key names for keys, against the
            values of name for values. Case-insensitive except for the meter source,
            where it is case-sensitive and % and _ act as wildcards. For keys, a context
            prefix such as resource.service.name sets fieldContext when it is empty.'
          type: string
      - description: The key whose values to return, such as service.name. A context
          prefix such as resource.service.name sets fieldContext when it is empty.
        in: query
        name: name
        schema:
          description: The key whose values to return, such as service.name. A context
            prefix such as resource.service.name sets fieldContext when it is empty.
          type: string
      - description: Filter expression already applied in the explorer. When set,
          relatedValues lists the values seen on data matching it.
        in: query
        name: existingQuery
        schema:
          description: Filter expression already applied in the explorer. When set,
            relatedValues lists the values seen on data matching it.
          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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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: Wraps a builder query in the `anomaly` function with
                  daily seasonality, so SigNoz compares each point against the forecast
                  for that time of day. The threshold is compared against the signed
                  anomaly score, so `below` with a target of -2 fires when an abrupt
                  drop holds for the entire window; `requireMinPoints` guards against
                  noisy intervals.
                summary: Metric anomaly rule
                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
                    requireMinPoints: true
                    requiredNumPoints: 3
                    seasonality: daily
                    selectedQueryName: A
                    thresholds:
                      kind: basic
                      spec:
                      - channels:
                        - slack-ingestion
                        matchType: all_the_times
                        name: warning
                        op: below
                        target: -2
                  description: Detect an abrupt drop in span ingestion using a z-score
                    anomaly function
                  evaluation:
                    kind: rolling
                    spec:
                      evalWindow: 24h
                      frequency: 3h
                  labels:
                    severity: warning
                  notificationSettings:
                    renotify:
                      alertStates:
                      - firing
                      enabled: true
                      interval: 4h
                  ruleType: anomaly_rule
                  schemaVersion: v2alpha1
                  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
      x-signoz-stability: alpha
  /api/v2/saved_views:
    get:
      deprecated: false
      description: Returns saved views, optionally filtered by source and name.
      operationId: ListSavedViews
      parameters:
      - description: 'Returns only the views of this explorer page: traces, logs,
          metrics, meter or ai_observability. Defaults to every source.'
        in: query
        name: source
        schema:
          allOf:
          - $ref: '#/components/schemas/SavedviewtypesSource'
          description: 'Returns only the views of this explorer page: traces, logs,
            metrics, meter or ai_observability. Defaults to every source.'
      - description: Returns only the view with this exact machine name.
        in: query
        name: name
        schema:
          description: Returns only the view with this exact machine name.
          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
      x-signoz-stability: alpha
    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:
            examples:
              logs_list_generated_name:
                description: A list panel over error logs of one service. generateName
                  lets the server derive the machine name from displayName; the display
                  preferences set the row format and font size.
                summary: Logs list view with a generated name
                value:
                  generateName: true
                  schemaVersion: v2
                  source: logs
                  spec:
                    display:
                      fontSize: small
                      format: list
                      maxLines: 2
                    displayName: Payment errors
                    panelType: list
                    queries:
                    - spec:
                        filter:
                          expression: service.name = 'paymentservice' AND severity_text
                            = 'ERROR'
                        limit: 100
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: timestamp
                        - direction: desc
                          key:
                            name: id
                        signal: logs
                      type: builder_query
                    requestType: raw
                    selectedFields:
                    - fieldContext: resource
                      fieldDataType: string
                      name: service.name
                      signal: logs
                    - fieldContext: log
                      fieldDataType: string
                      name: severity_text
                      signal: logs
              meter_time_series:
                description: A graph panel on the meter explorer. Meter views are
                  queried as metrics with the builder spec source set to meter; the
                  meter rolls up hourly, so the step is 3600 seconds.
                summary: Cost meter graph view
                value:
                  name: log-ingestion-volume
                  schemaVersion: v2
                  source: meter
                  spec:
                    displayName: Log ingestion volume
                    panelType: graph
                    queries:
                    - spec:
                        aggregations:
                        - metricName: signoz.meter.log.size
                          spaceAggregation: sum
                          timeAggregation: increase
                        name: A
                        signal: metrics
                        source: meter
                        stepInterval: 3600
                      type: builder_query
                    requestType: time_series
                    selectedFields: []
              metrics_time_series:
                description: A graph panel plotting the per-second request rate of
                  a counter, summed across series at one minute resolution.
                summary: Metrics graph view
                value:
                  name: http-request-rate
                  schemaVersion: v2
                  source: metrics
                  spec:
                    displayName: HTTP request rate
                    panelType: graph
                    queries:
                    - spec:
                        aggregations:
                        - metricName: http_requests_total
                          spaceAggregation: sum
                          timeAggregation: rate
                        groupBy:
                        - fieldContext: resource
                          fieldDataType: string
                          name: service.name
                        name: A
                        signal: metrics
                        stepInterval: 60
                      type: builder_query
                    requestType: time_series
                    selectedFields: []
              traces_list:
                description: A list panel over spans slower than 500ms in one service,
                  ordered newest first, with three explorer columns.
                summary: Traces list view with filter and columns
                value:
                  name: slow-checkout-traces
                  schemaVersion: v2
                  source: traces
                  spec:
                    displayName: Slow checkout traces
                    panelType: list
                    queries:
                    - spec:
                        filter:
                          expression: service.name = 'checkoutservice' AND duration_nano
                            > 500000000
                        limit: 100
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: timestamp
                        signal: traces
                      type: builder_query
                    requestType: raw
                    selectedFields:
                    - fieldContext: resource
                      fieldDataType: string
                      name: service.name
                      signal: traces
                    - fieldContext: span
                      fieldDataType: string
                      name: name
                      signal: traces
                    - fieldContext: span
                      fieldDataType: float64
                      name: duration_nano
                      signal: traces
            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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
    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:
            examples:
              traces_list_widen_filter:
                description: Replaces the spec of an existing traces list view with
                  a wider latency filter and one more column. Every field of spec
                  must be sent again; the machine name stays as created.
                summary: Replace a traces list view
                value:
                  schemaVersion: v2
                  source: traces
                  spec:
                    displayName: Slow checkout traces (over 250ms)
                    panelType: list
                    queries:
                    - spec:
                        filter:
                          expression: service.name = 'checkoutservice' AND duration_nano
                            > 250000000
                        limit: 100
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: timestamp
                        signal: traces
                      type: builder_query
                    requestType: raw
                    selectedFields:
                    - fieldContext: resource
                      fieldDataType: string
                      name: service.name
                      signal: traces
                    - fieldContext: span
                      fieldDataType: string
                      name: name
                      signal: traces
                    - fieldContext: span
                      fieldDataType: float64
                      name: duration_nano
                      signal: traces
                    - fieldContext: attribute
                      fieldDataType: string
                      name: http.status_code
                      signal: traces
            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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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:
        - user:attach
        - role:attach
      - tokenizer:
        - user:attach
        - role:attach
      summary: Create user role
      tags:
      - users
      x-signoz-stability: alpha
  /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:
        - user:detach
        - role:detach
      - tokenizer:
        - user:detach
        - role:detach
      summary: Delete user role
      tags:
      - users
      x-signoz-stability: alpha
    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:
        - user:read
      - tokenizer:
        - user:read
      summary: Get user role
      tags:
      - users
      x-signoz-stability: alpha
  /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:
        - user:list
      - tokenizer:
        - user:list
      summary: List users v2
      tags:
      - users
      x-signoz-stability: alpha
    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:
        - user:create
        - user:attach
        - role:attach
      - tokenizer:
        - user:create
        - user:attach
        - role:attach
      summary: Create user
      tags:
      - users
      x-signoz-stability: alpha
  /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:
        - user:delete
      - tokenizer:
        - user:delete
      summary: Delete user
      tags:
      - users
      x-signoz-stability: alpha
    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:
        - user:read
      - tokenizer:
        - user:read
      summary: Get user by user id
      tags:
      - users
      x-signoz-stability: alpha
    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:
        - user:update
      - tokenizer:
        - user:update
      summary: Update user v2
      tags:
      - users
      x-signoz-stability: alpha
  /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:
        - factor-password:list
      - tokenizer:
        - factor-password:list
      summary: Get reset password token for a user
      tags:
      - users
      x-signoz-stability: alpha
    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:
        - factor-password:create
        - user:attach
      - tokenizer:
        - factor-password:create
        - user:attach
      summary: Create or regenerate reset password token for a user
      tags:
      - users
      x-signoz-stability: alpha
  /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:
        - user:read
      - tokenizer:
        - user:read
      summary: Get user roles
      tags:
      - users
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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:
      - description: 'A filter expression over the reserved keys name, description,
          created_at, updated_at, created_by and locked, and over tag keys, using
          the SigNoz filter grammar: comparisons such as =, !=, CONTAINS, LIKE, IN,
          < and >, single-quoted strings, RFC3339 timestamps in quotes for created_at
          and updated_at, combined with AND, OR and NOT, for example name CONTAINS
          ''overview'' AND created_at >= ''2026-10-21T00:00:00Z''. At most 1024 characters.
          Empty matches every dashboard.'
        in: query
        name: query
        schema:
          description: 'A filter expression over the reserved keys name, description,
            created_at, updated_at, created_by and locked, and over tag keys, using
            the SigNoz filter grammar: comparisons such as =, !=, CONTAINS, LIKE,
            IN, < and >, single-quoted strings, RFC3339 timestamps in quotes for created_at
            and updated_at, combined with AND, OR and NOT, for example name CONTAINS
            ''overview'' AND created_at >= ''2026-10-21T00:00:00Z''. At most 1024
            characters. Empty matches every dashboard.'
          type: string
      - description: 'The sort field: updated_at (default), created_at or name.'
        in: query
        name: sort
        schema:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListSort'
          description: 'The sort field: updated_at (default), created_at or name.'
      - description: 'The sort direction: asc or desc (default).'
        in: query
        name: order
        schema:
          allOf:
          - $ref: '#/components/schemas/DashboardtypesListOrder'
          description: 'The sort direction: asc or desc (default).'
      - description: The page size. Defaults to 20 and is capped at 200.
        in: query
        name: limit
        schema:
          description: The page size. Defaults to 20 and is capped at 200.
          type: integer
      - description: The number of dashboards to skip. Defaults to 0.
        in: query
        name: offset
        schema:
          description: The number of dashboards to skip. Defaults to 0.
          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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
    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
      x-signoz-stability: alpha
  /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:
      - tokenizer: []
      summary: Updates my password
      tags:
      - users
      x-signoz-stability: alpha
  /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:
        - deployment-host:list
      - tokenizer:
        - deployment-host:list
      summary: Get host info from Zeus.
      tags:
      - zeus
      x-signoz-stability: alpha
    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:
        - deployment-host:update
      - tokenizer:
        - deployment-host:update
      summary: Put host in Zeus for a deployment.
      tags:
      - zeus
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /api/v3/licenses:
    post:
      deprecated: true
      description: This endpoint validates the license key with the upstream server
        and activates the license for the organization.
      operationId: ActivateLicenseDeprecated
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicensetypesPostableLicense'
      responses:
        "202":
          description: Accepted
        "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:
        - license:create
      - tokenizer:
        - license:create
      summary: Activate a license.
      tags:
      - licenses
      x-signoz-stability: alpha
    put:
      deprecated: true
      description: This endpoint refreshes the active license of the organization
        from the upstream server.
      operationId: RefreshLicenseDeprecated
      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:
        - license:update
      - tokenizer:
        - license:update
      summary: Refresh a license.
      tags:
      - licenses
      x-signoz-stability: alpha
  /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:
        - dashboard:list
      - tokenizer:
        - dashboard:list
      summary: Get metric dashboards (v2)
      tags:
      - metrics
      x-signoz-stability: alpha
  /api/v3/rules:
    get:
      deprecated: false
      description: Returns a page of alert rules with their current evaluation state,
        trimmed to the fields the list page renders. Supports a filter DSL (`query`),
        a repeated `states` filter applied after the state overlay, sort (`updated_at`/`created_at`/`name`/`state`/`severity`),
        order (`asc`/`desc`), and offset-based pagination (`limit`/`offset`). In the
        filter DSL, a non-reserved key is matched as a rule label directly (`team
        = infra`); a key that collides with a reserved keyword matches either interpretation
        (negative operators exclude both), and `labels.<key>` targets only the label.
        The response also carries the org's label pairs and the reserved filter keys
        for building filter suggestions.
      operationId: ListRulesV3
      parameters:
      - description: A filter expression over rule name, description, labels and other
          fields, at most 1024 characters. Empty matches every rule.
        in: query
        name: query
        schema:
          description: A filter expression over rule name, description, labels and
            other fields, at most 1024 characters. Empty matches every rule.
          type: string
      - description: 'Only return rules in these states: firing, pending, recovering,
          inactive, nodata or disabled. Empty means every state.'
        in: query
        name: states
        schema:
          description: 'Only return rules in these states: firing, pending, recovering,
            inactive, nodata or disabled. Empty means every state.'
          items:
            type: string
          type: array
      - description: 'The field to sort by: updated_at (the default), created_at,
          name, state or severity.'
        in: query
        name: sort
        schema:
          allOf:
          - $ref: '#/components/schemas/RuletypesListSort'
          description: 'The field to sort by: updated_at (the default), created_at,
            name, state or severity.'
      - description: 'The sort direction: asc or desc (the default).'
        in: query
        name: order
        schema:
          allOf:
          - $ref: '#/components/schemas/RuletypesListOrder'
          description: 'The sort direction: asc or desc (the default).'
      - description: The page size, 1 to 200. Defaults to 20 and larger values are
          clamped to 200.
        in: query
        name: limit
        schema:
          description: The page size, 1 to 200. Defaults to 20 and larger values are
            clamped to 200.
          type: integer
      - description: The number of rules to skip before the page. Defaults to 0.
        in: query
        name: offset
        schema:
          description: The number of rules to skip before the page. Defaults to 0.
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/RuletypesListableRules'
                  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 alert rules (v3)
      tags:
      - rules
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /api/v4/licenses:
    get:
      deprecated: false
      description: This endpoint lists all the licenses of the organization.
      operationId: ListLicenses
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/LicensetypesGettableLicense'
                    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:
        - license:list
      - tokenizer:
        - license:list
      summary: List licenses.
      tags:
      - licenses
      x-signoz-stability: alpha
    post:
      deprecated: false
      description: This endpoint validates the license key with the upstream server
        and activates the license for the organization.
      operationId: ActivateLicense
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicensetypesPostableLicense'
      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
        "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:
        - license:create
      - tokenizer:
        - license:create
      summary: Activate a license.
      tags:
      - licenses
      x-signoz-stability: alpha
  /api/v4/licenses/{id}:
    delete:
      deprecated: false
      description: This endpoint deletes the license by id. Licenses managed by SigNoz
        Cloud cannot be deleted.
      operationId: DeleteLicense
      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:
        - license:delete
      - tokenizer:
        - license:delete
      summary: Delete a license.
      tags:
      - licenses
      x-signoz-stability: alpha
    get:
      deprecated: false
      description: This endpoint gets the license by id.
      operationId: GetLicense
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/LicensetypesGettableLicenseWithKey'
                  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:
        - license:read
      - tokenizer:
        - license:read
      summary: Get a license.
      tags:
      - licenses
      x-signoz-stability: alpha
    put:
      deprecated: false
      description: This endpoint refreshes the active license of the organization
        from the upstream server.
      operationId: RefreshLicense
      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:
        - license:update
      - tokenizer:
        - license:update
      summary: Refresh a license.
      tags:
      - licenses
      x-signoz-stability: alpha
  /api/v4/licenses/active:
    get:
      deprecated: false
      description: This endpoint gets the active license of the organization.
      operationId: GetActiveLicense
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/LicensetypesGettableActiveLicense'
                  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
        "501":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Not Implemented
      security:
      - api_key: []
      - tokenizer: []
      summary: Get the active license.
      tags:
      - licenses
      x-signoz-stability: alpha
  /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. A span carrying gen_ai input or output messages also has them decoded
        into formattedInput and formattedOutput, with formatterWarnings holding what
        the converter could not resolve.
      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
      x-signoz-stability: alpha
  /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:
              ai_traces_raw:
                summary: 'Raw: LLM, tool, and agent spans of one service''s AI traces
                  with many tool calls'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        filter:
                          expression: service.name = 'ai-agent' AND trace.tool_call_count
                            > 10
                        limit: 100
                        name: A
                        order:
                        - direction: desc
                          key:
                            fieldContext: span
                            name: timestamp
                        signal: traces
                      type: builder_ai_query
                  end: 1640998800000
                  requestType: raw
                  schemaVersion: v1
                  start: 1640995200000
              ai_traces_raw_select_fields:
                summary: 'Raw: the same spans with the span name and gen_ai model,
                  tool, and token fields selected'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        filter:
                          expression: service.name = 'ai-agent' AND trace.tool_call_count
                            > 10
                        limit: 100
                        name: A
                        order:
                        - direction: desc
                          key:
                            fieldContext: span
                            name: timestamp
                        selectFields:
                        - fieldContext: span
                          name: name
                        - fieldContext: attribute
                          name: gen_ai.request.model
                        - fieldContext: attribute
                          name: gen_ai.tool.name
                        - fieldContext: attribute
                          name: gen_ai.usage.input_tokens
                        - fieldContext: attribute
                          name: gen_ai.usage.output_tokens
                        signal: traces
                      type: builder_ai_query
                  end: 1640998800000
                  requestType: raw
                  schemaVersion: v1
                  start: 1640995200000
              ai_traces_scalar:
                summary: 'Scalar: average per-trace AI cost by model'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - expression: avg(trace.estimated_total_cost)
                        groupBy:
                        - fieldContext: attribute
                          name: gen_ai.request.model
                        limit: 10
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: avg(trace.estimated_total_cost)
                        signal: traces
                      type: builder_ai_query
                  end: 1640998800000
                  requestType: scalar
                  schemaVersion: v1
                  start: 1640995200000
              ai_traces_time_series:
                summary: 'Time series: per-trace AI cost by model'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        aggregations:
                        - expression: sum(trace.estimated_total_cost)
                        groupBy:
                        - fieldContext: attribute
                          name: gen_ai.request.model
                        limit: 10
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: sum(trace.estimated_total_cost)
                        signal: traces
                        stepInterval: 60s
                      type: builder_ai_query
                  end: 1640998800000
                  requestType: time_series
                  schemaVersion: v1
                  start: 1640995200000
              ai_traces_trace:
                summary: 'Trace list: AI traces with many tool calls, most expensive
                  first'
                value:
                  compositeQuery:
                    queries:
                    - spec:
                        filter:
                          expression: trace.tool_call_count > 10 AND trace.distinct_tool_count
                            < 3
                        limit: 10
                        name: A
                        order:
                        - direction: desc
                          key:
                            name: trace.estimated_total_cost
                        signal: traces
                      type: builder_ai_query
                  end: 1640998800000
                  requestType: trace
                  schemaVersion: v1
                  start: 1640995200000
              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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /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
      x-signoz-stability: alpha
  /prometheus/api/v1/query:
    get:
      description: 'Prometheus-compatible endpoint: the request and response contract
        is the upstream Prometheus HTTP API (https://prometheus.io/docs/prometheus/latest/querying/api/).
        Parameters are accepted as URL query parameters or a form-encoded body, on
        GET and POST alike.'
      operationId: PrometheusQuery
      parameters:
      - description: PromQL expression.
        in: query
        name: query
        required: true
        schema:
          description: PromQL expression.
          type: string
      - description: 'Evaluation timestamp: RFC3339 or float unix seconds. Defaults
          to the server''s current time.'
        in: query
        name: time
        schema:
          description: 'Evaluation timestamp: RFC3339 or float unix seconds. Defaults
            to the server''s current time.'
          type: string
      - description: 'Evaluation timeout: duration string or float seconds.'
        in: query
        name: timeout
        schema:
          description: 'Evaluation timeout: duration string or float seconds.'
          type: string
      - description: Any non-empty value includes query statistics in the response.
        in: query
        name: stats
        schema:
          description: Any non-empty value includes query statistics in the response.
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusSuccessResponseSchema'
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          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
        "422":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Unprocessable Entity
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Internal Server Error
        "503":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Service Unavailable
      security:
      - api_key:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Prometheus instant query
      tags:
      - prometheus
      x-signoz-stability: alpha
    post:
      description: 'Prometheus-compatible endpoint: the request and response contract
        is the upstream Prometheus HTTP API (https://prometheus.io/docs/prometheus/latest/querying/api/).
        Parameters are accepted as URL query parameters or a form-encoded body, on
        GET and POST alike.'
      operationId: PrometheusQueryPost
      parameters:
      - description: PromQL expression.
        in: query
        name: query
        required: true
        schema:
          description: PromQL expression.
          type: string
      - description: 'Evaluation timestamp: RFC3339 or float unix seconds. Defaults
          to the server''s current time.'
        in: query
        name: time
        schema:
          description: 'Evaluation timestamp: RFC3339 or float unix seconds. Defaults
            to the server''s current time.'
          type: string
      - description: 'Evaluation timeout: duration string or float seconds.'
        in: query
        name: timeout
        schema:
          description: 'Evaluation timeout: duration string or float seconds.'
          type: string
      - description: Any non-empty value includes query statistics in the response.
        in: query
        name: stats
        schema:
          description: Any non-empty value includes query statistics in the response.
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusSuccessResponseSchema'
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          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
        "422":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Unprocessable Entity
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Internal Server Error
        "503":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Service Unavailable
      security:
      - api_key:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Prometheus instant query
      tags:
      - prometheus
      x-signoz-stability: alpha
  /prometheus/api/v1/query_range:
    get:
      description: 'Prometheus-compatible endpoint: the request and response contract
        is the upstream Prometheus HTTP API (https://prometheus.io/docs/prometheus/latest/querying/api/).
        Parameters are accepted as URL query parameters or a form-encoded body, on
        GET and POST alike.'
      operationId: PrometheusQueryRange
      parameters:
      - description: PromQL expression.
        in: query
        name: query
        required: true
        schema:
          description: PromQL expression.
          type: string
      - description: 'Range start: RFC3339 or float unix seconds.'
        in: query
        name: start
        required: true
        schema:
          description: 'Range start: RFC3339 or float unix seconds.'
          type: string
      - description: 'Range end: RFC3339 or float unix seconds.'
        in: query
        name: end
        required: true
        schema:
          description: 'Range end: RFC3339 or float unix seconds.'
          type: string
      - description: 'Resolution step: duration string or float seconds.'
        in: query
        name: step
        required: true
        schema:
          description: 'Resolution step: duration string or float seconds.'
          type: string
      - description: 'Evaluation timeout: duration string or float seconds.'
        in: query
        name: timeout
        schema:
          description: 'Evaluation timeout: duration string or float seconds.'
          type: string
      - description: Any non-empty value includes query statistics in the response.
        in: query
        name: stats
        schema:
          description: Any non-empty value includes query statistics in the response.
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusSuccessResponseSchema'
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          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
        "422":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Unprocessable Entity
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Internal Server Error
        "503":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Service Unavailable
      security:
      - api_key:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Prometheus range query
      tags:
      - prometheus
      x-signoz-stability: alpha
    post:
      description: 'Prometheus-compatible endpoint: the request and response contract
        is the upstream Prometheus HTTP API (https://prometheus.io/docs/prometheus/latest/querying/api/).
        Parameters are accepted as URL query parameters or a form-encoded body, on
        GET and POST alike.'
      operationId: PrometheusQueryRangePost
      parameters:
      - description: PromQL expression.
        in: query
        name: query
        required: true
        schema:
          description: PromQL expression.
          type: string
      - description: 'Range start: RFC3339 or float unix seconds.'
        in: query
        name: start
        required: true
        schema:
          description: 'Range start: RFC3339 or float unix seconds.'
          type: string
      - description: 'Range end: RFC3339 or float unix seconds.'
        in: query
        name: end
        required: true
        schema:
          description: 'Range end: RFC3339 or float unix seconds.'
          type: string
      - description: 'Resolution step: duration string or float seconds.'
        in: query
        name: step
        required: true
        schema:
          description: 'Resolution step: duration string or float seconds.'
          type: string
      - description: 'Evaluation timeout: duration string or float seconds.'
        in: query
        name: timeout
        schema:
          description: 'Evaluation timeout: duration string or float seconds.'
          type: string
      - description: Any non-empty value includes query statistics in the response.
        in: query
        name: stats
        schema:
          description: Any non-empty value includes query statistics in the response.
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusSuccessResponseSchema'
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          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
        "422":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Unprocessable Entity
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Internal Server Error
        "503":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusErrorResponseSchema'
          description: Service Unavailable
      security:
      - api_key:
        - metrics:read
      - tokenizer:
        - metrics:read
      summary: Prometheus range query
      tags:
      - prometheus
      x-signoz-stability: alpha
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
