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

# List the subscribable alert vocabulary

> Returns every alert type this organization may subscribe a channel to, plus the category and severity label vocabularies those types reference.

Read this before building a subscription set. The alert-type enum grows over time and is gated per organization, so this endpoint — not a hardcoded list — is the authoritative answer to what `subscriptions[].alert_type` accepts. Subscribing to a type absent here is accepted but never delivers.



## OpenAPI

````yaml /api-reference/openapi.yaml get /api/notification/public/v1/channels/options
openapi: 3.1.0
info:
  title: Barndoor.ai Public API
  description: Unified public API specification for Barndoor.ai platform
  version: 2.18.0
servers:
  - url: https://{host}
    description: Barndoor public API
    variables:
      host:
        default: platform.barndoor.ai
        description: >-
          The host serving your Barndoor deployment. Defaults to production;
          override it for another environment or a dedicated deployment.
security:
  - ApiKey: []
  - OAuth2:
      - openid
      - profile
      - email
tags:
  - name: dlp
    x-group: Data Control Center
  - name: identity
    x-group: Identity
  - name: llm-gateway
    x-group: LLM Gateway
  - name: notification
    x-group: Notifications
  - name: policy
    x-group: Policies
  - name: registry
    x-group: MCP Gateway
  - name: system-management
    x-group: Log Exports
paths:
  /api/notification/public/v1/channels/options:
    get:
      tags:
        - notification
      summary: List the subscribable alert vocabulary
      description: >-
        Returns every alert type this organization may subscribe a channel to,
        plus the category and severity label vocabularies those types reference.


        Read this before building a subscription set. The alert-type enum grows
        over time and is gated per organization, so this endpoint — not a
        hardcoded list — is the authoritative answer to what
        `subscriptions[].alert_type` accepts. Subscribing to a type absent here
        is accepted but never delivers.
      operationId: list_alert_channel_options
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelOptionsResponse'
        '401':
          description: Missing, malformed, or expired bearer token.
        '403':
          description: Authenticated, but not permitted to manage this channel.
components:
  schemas:
    ChannelOptionsResponse:
      properties:
        alert_types:
          items:
            $ref: '#/components/schemas/AlertTypeOption'
          type: array
          title: Alert Types
          description: >-
            Every alert type your organization may subscribe a channel to.
            Authoritative: types withheld here are gated off for this
            organization and subscribing to one is inert. Read this instead of
            hardcoding the enum — the set grows over time.
        categories:
          items:
            $ref: '#/components/schemas/LabeledOption'
          type: array
          title: Categories
          description: >-
            The categories your organization may see, in display order. A
            category whose every alert type is gated off for this organization
            is withheld entirely, so it needs no client-side handling; a
            category that is simply reserved and has no alert types yet is still
            listed and groups nothing.
        severities:
          items:
            $ref: '#/components/schemas/LabeledOption'
          type: array
          title: Severities
          description: The full severity vocabulary, unfiltered.
      type: object
      required:
        - alert_types
        - categories
        - severities
      title: ChannelOptionsResponse
      description: >-
        The subscription vocabulary, enumerated server-side so new alert types
        appear to every

        client without a code change. `alert_types` is filtered to what the
        caller's organization is

        admitted to; `categories` and `severities` are the full closed label
        vocabularies the types

        reference. Fetch this before building a subscription set rather than
        hardcoding enum names.
    AlertTypeOption:
      properties:
        value:
          type: string
          title: Value
          description: The alert type — what to send as a subscription's `alert_type`.
          examples:
            - break_glass_used
        label:
          type: string
          title: Label
          description: Human-readable label for display.
        category:
          type: string
          title: Category
          description: The type's category. Intrinsic to the type, not configurable.
        severity:
          type: string
          title: Severity
          description: The type's severity. Intrinsic to the type, not configurable.
      type: object
      required:
        - value
        - label
        - category
        - severity
      title: AlertTypeOption
      description: One subscribable alert type, plus its intrinsic category and severity.
    LabeledOption:
      properties:
        value:
          type: string
          title: Value
          description: The value to send in a request.
        label:
          type: string
          title: Label
          description: Human-readable label for display.
      type: object
      required:
        - value
        - label
      title: LabeledOption
      description: An enum value paired with its display label.
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        A Barndoor API key, sent as `Authorization: Bearer <key>`. Keys are
        prefixed `bdai_` and are opaque — do not attempt to decode one.
        Interchangeable with an OAuth 2.0 access token.
    OAuth2:
      type: oauth2
      x-issuer: https://auth.barndoor.ai/realms/barndoor
      description: >-
        An OAuth 2.0 access token from Barndoor's identity provider, sent as
        `Authorization: Bearer <token>`. Public clients must use PKCE.
        Interchangeable with an API key.
      flows:
        authorizationCode:
          authorizationUrl: >-
            https://auth.barndoor.ai/realms/barndoor/protocol/openid-connect/auth
          tokenUrl: >-
            https://auth.barndoor.ai/realms/barndoor/protocol/openid-connect/token
          scopes:
            openid: Issue an OIDC ID token identifying the caller.
            profile: Read the caller's basic profile claims.
            email: Read the caller's email address.
            offline_access: Issue a refresh token. Optional — no operation requires it.
        clientCredentials:
          tokenUrl: >-
            https://auth.barndoor.ai/realms/barndoor/protocol/openid-connect/token
          scopes:
            openid: Issue an OIDC ID token identifying the caller.
            profile: Read the caller's basic profile claims.
            email: Read the caller's email address.
            offline_access: Issue a refresh token. Optional — no operation requires it.

````

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