> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corbado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List alert rule types

> Lists the alert rule types that can be created, described for the authenticated project. The rule builder renders itself from this: `available` says whether the project has the data the type reads, and `dimensions` are the keys a rule of that type can be grouped by here, including the project's own time-series tags. A type with `available` false, or a `groupBy` key not listed here, is rejected when the rule is saved.

Required API key permission: `observe:alerts:read`.



## OpenAPI

````yaml /api-reference/openapi/observe.yaml get /observe/alertRuleTypes
openapi: 3.1.1
info:
  version: 1.0.0
  title: Corbado API
  description: >
    # Introduction

    This documentation gives an overview of all Corbado API calls to implement
    authentication observe.
  contact:
    name: Corbado team
    email: support@corbado.com
    url: https://www.corbado.com
servers:
  - url: https://api.cloud.corbado.io/v1
security:
  - bearerAuth: []
tags:
  - name: ObserveFlow
    description: Flow search and related APIs
    x-group: Journeys and users
  - name: ObserveSubFlow
    description: Subflow search and related APIs
    x-group: Journeys and users
  - name: ObserveUser
    description: User search and related APIs
    x-group: Journeys and users
  - name: ObserveIdentifier
    description: Identifier search over submitted identifiers
    x-group: Journeys and users
  - name: ObserveClientEnv
    description: Client environment search APIs
    x-group: Journeys and users
  - name: ObserveTimeSeries
    description: Time series query APIs
    x-group: Metrics and funnels
  - name: ObserveFunnel
    description: Historical funnel metrics, dictionaries and coverage.
    x-group: Metrics and funnels
  - name: ObserveEvent
    description: Event ingestion and event feed APIs
    x-group: Events
  - name: ObserveError
    description: Named authentication errors and recommendations.
    x-group: Error management
  - name: ObserveErrorFlavour
    description: Error variants and their impact on authentication outcomes.
    x-group: Error management
  - name: ObserveFinding
    description: Curated findings that explain errors, their impact and who has to act.
    x-group: Error management
  - name: ObserveAlert
    description: Authentication alert rules, instances and history.
    x-group: Alert management
  - name: ObserveAnnotation
    description: >-
      Annotations, the project's memory (what is true about the data and how to
      read it)
    x-group: Annotations
  - name: ObserveTableExport
    description: Table export file listing and download APIs
    x-group: Data exports
  - name: ObserveTimeSeriesExport
    description: Time-series export generation and downloads.
    x-group: Data exports
  - name: ObserveDataExport
    description: Data export APIs
    x-group: User data
  - name: ObserveDataDeletionJob
    description: Data deletion job APIs
    x-group: User data
  - name: ObserveFlowTypeDefinition
    description: Flow type definitions used in authentication journeys.
    x-group: Catalogs and labels
  - name: ObserveCatalog
    description: Catalog APIs
    x-group: Catalogs and labels
  - name: OpenAPI
    description: Downloadable API specification
  - name: ProjectOperationExecution
    description: Project-scoped operation history and pipeline health
  - name: ObserveClassification
    description: Flow and subflow classification APIs
  - name: ObserveIntegrationStats
    description: Integration stats APIs
  - name: ObserveTimeSeriesPrecalculation
    description: Time series precalculation APIs
  - name: ObserveIDList
    x-group: Saved ID lists
    description: Stored ID-list selection APIs
  - name: ObserveDataContext
    description: Schema-loose data context APIs for agent and debugging tooling
  - name: ObserveData
    description: Observe data administration APIs
  - name: ObserveTrackingStats
    description: Tracking ingestion stats APIs
  - name: ObserveProbe
    description: Raw probe capture items (internal autocapture diagnostics)
  - name: ObserveTelemetry
    description: Raw SDK/integration diagnostic telemetry
  - name: ObserveExperiment
    x-group: Experiments
    description: Experiment catalog and run APIs
  - name: ObserveDataPolicy
    description: >-
      Project data policy catalogue (retention selected by the SDK's
      meta.dataPolicy code)
  - name: ObserveMetadata
    x-group: Metadata
    description: Authenticator metadata APIs (FIDO MDS + passkey AAGUID)
  - name: ObservePasskey
    x-group: Passkey analysis
    description: Observed passkey search and cohort analysis.
paths:
  /observe/alertRuleTypes:
    get:
      tags:
        - ObserveAlert
      summary: List alert rule types
      description: >-
        Lists the alert rule types that can be created, described for the
        authenticated project. The rule builder renders itself from this:
        `available` says whether the project has the data the type reads, and
        `dimensions` are the keys a rule of that type can be grouped by here,
        including the project's own time-series tags. A type with `available`
        false, or a `groupBy` key not listed here, is rejected when the rule is
        saved.


        Required API key permission: `observe:alerts:read`.
      operationId: ObserveAlertRuleTypeList
      responses:
        '200':
          description: Alert rule types, ordered by ruleType.
          content:
            application/json:
              schema:
                type: array
                maxItems: 100
                items:
                  $ref: '#/components/schemas/observeAlertRuleType'
        default:
          $ref: '#/components/responses/error'
      security:
        - bearerAuth:
            - observe:alerts:read
components:
  schemas:
    observeAlertRuleType:
      type: object
      required:
        - ruleType
        - label
        - measures
        - description
        - available
        - dimensions
        - variants
        - valueFormat
        - vocabulary
      properties:
        ruleType:
          type: string
          enum:
            - login_success_rate
            - flow_volume
            - subflow_volume
          description: >-
            Identifies the type; this is what a rule of this type stores in
            ruleType.
        valueFormat:
          $ref: '#/components/schemas/observeAlertValueFormat'
        vocabulary:
          $ref: '#/components/schemas/observeAlertVocabulary'
        label:
          type: string
          description: Human-readable name of the type, for the type picker.
        measures:
          type: string
          description: >-
            What the type measures, as a short phrase (e.g. "completed logins /
            engaged logins").
        description:
          type: string
          description: One sentence on how a rule of this type works, for the rule builder.
        available:
          type: boolean
          description: >-
            Whether this project has the data this type reads. Rules of an
            unavailable type cannot be saved.
        dimensions:
          type: array
          maxItems: 100
          description: >-
            Keys a rule of this type can be grouped by for this project. Empty
            when available is false,

            and empty for a type with variants: there each variant lists its
            own.
          items:
            $ref: '#/components/schemas/observeAlertRuleTypeDimension'
        variants:
          type: array
          maxItems: 1000
          description: >-
            The choices a rule of this type makes in its settings that decide
            what it reads, for

            `flow_volume` the `flowType`, for `subflow_volume` the
            `subflowType`. Only choices this

            project can be evaluated for are listed.

            Empty for a type without variants.
          items:
            $ref: '#/components/schemas/observeAlertRuleTypeVariant'
    observeAlertValueFormat:
      type: object
      description: >-
        How the values and thresholds of a rule type are written for people.
        Values and thresholds

        stay raw numbers in every response; apply this to display them.
      required:
        - unit
        - decimals
        - suffix
      properties:
        unit:
          type: string
          enum:
            - percent
            - count
          description: What the values measure.
        decimals:
          type: integer
          minimum: 0
          description: >-
            Exact number of decimal places to show. Trailing zeros are kept, so
            values line up.
        suffix:
          type: string
          description: >-
            Text to append after the number, for example `%`. Empty when the
            unit needs none.
    observeAlertVocabulary:
      type: object
      description: >
        What the numbers and settings of a rule type are called, so every place
        that shows them names them the same way. A type with variants names them
        by the variant a rule picks ("Logins counted"), with the same term keys
        for every variant. What depends on other settings or on one evaluation,
        such as the length of the window, is not part of a term.
      required:
        - value
        - measures
        - minimum
        - gateMeasure
        - settings
      properties:
        value:
          $ref: '#/components/schemas/observeAlertTerm'
          description: >-
            The number thresholds are compared with, for example "% of
            expected".
        measures:
          type: array
          maxItems: 20
          description: >
            The counts each evaluation stores in its details and computes the
            value from, measured count first.
          items:
            $ref: '#/components/schemas/observeAlertMeasure'
        minimum:
          $ref: '#/components/schemas/observeAlertMeasure'
          description: >-
            The sample gate each evaluation stores. Below it an alert is not
            judged.
        gateMeasure:
          type: string
          description: The key of the measure the minimum is checked against.
        settings:
          type: array
          maxItems: 20
          description: >-
            The settings sentences about the numbers name, keyed by the
            setting's field in the rule config.
          items:
            $ref: '#/components/schemas/observeAlertTerm'
    observeAlertRuleTypeDimension:
      type: object
      required:
        - key
        - name
      properties:
        key:
          type: string
          description: >-
            What a rule stores in groupBy, and what comes back as a label key on
            its instances.
        name:
          type: string
          description: Display name for the grouping picker.
    observeAlertRuleTypeVariant:
      type: object
      required:
        - key
        - name
        - dimensions
        - vocabulary
      properties:
        key:
          type: string
          description: >-
            What a rule stores in its settings to make this choice, for example
            the flow type `login`.
        name:
          type: string
          description: Display name for the picker.
        dimensions:
          type: array
          maxItems: 100
          description: Keys a rule making this choice can be grouped by.
          items:
            $ref: '#/components/schemas/observeAlertRuleTypeDimension'
        vocabulary:
          $ref: '#/components/schemas/observeAlertVocabulary'
          description: >
            What a rule making this choice calls its numbers and settings,
            "Logins counted" for the flow type `login`. Its term keys are the
            type's; only names and help texts differ.
    errorRspV2:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            message:
              description: Error message
              type: string
              example: Validation failed
            details:
              description: Validation error details per field
              type: array
              items:
                type: object
                required:
                  - field
                  - message
                properties:
                  field:
                    description: Field name that failed validation
                    type: string
                    example: projectID
                  message:
                    description: Validation error message
                    type: string
                    example: required
    observeAlertTerm:
      type: object
      description: >-
        One word customer-facing text uses. The key is stable, the name is the
        label, the help is one sentence.
      required:
        - key
        - name
        - help
      properties:
        key:
          type: string
        name:
          type: string
        help:
          type: string
    observeAlertMeasure:
      type: object
      description: >
        A term for a number an evaluation stores in its details, under
        detailKey. Use detailKey to request it from the alert instance
        statistics.
      required:
        - key
        - name
        - help
        - detailKey
        - reference
      properties:
        key:
          type: string
        name:
          type: string
        help:
          type: string
        detailKey:
          type: string
        reference:
          type: boolean
          description: Whether this is what the measured count is compared with.
  responses:
    error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorRspV2'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Use an Observe API key from the management console. The key selects the
        project and must grant the permission listed on the operation. Keep this
        key on your server.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.