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

# Send Alert

> Send alert to one subscriber, multiple subscribers, or all with rich content support including images, actions, and custom data



## OpenAPI

````yaml /openapi/alerts.json post /v2/{appId}/send
openapi: 3.1.0
info:
  title: Dialect Alerts V2 API
  description: >-
    Notification infrastructure for real-time alert delivery through multiple
    channels including in-app notifications, email, push notifications, and
    Telegram.
  version: 2.2.0-beta
servers:
  - url: https://alerts-api.dial.to
    description: Dialect Production
  - url: https://alerts.dialectapi.to
    description: Dialect Production
security: []
paths:
  /v2/{appId}/send:
    post:
      tags:
        - Send Alerts
      summary: Send Alert
      description: >-
        Send alert to one subscriber, multiple subscribers, or all with rich
        content support including images, actions, and custom data
      operationId: sendAlert
      parameters:
        - name: appId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: Application ID
            example: 255d6163-7e25-43e9-a188-c2f8d0980a4a
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channels:
                  type: array
                  items:
                    type: string
                    enum:
                      - PUSH
                      - IN_APP
                      - EMAIL
                      - TELEGRAM
                  minItems: 1
                message:
                  type: object
                  properties:
                    title:
                      type: string
                      minLength: 1
                      maxLength: 60
                      description: Alert title
                      example: Alert Title
                    body:
                      type: string
                      minLength: 1
                      maxLength: 500
                      description: Alert body
                      example: Alert body
                    image:
                      type: string
                      format: uri
                      minLength: 1
                      maxLength: 300
                      description: >-
                        Public URL of the image to be displayed in the alert.
                        Only jpg, png, and webp formats are supported.
                      example: >-
                        https://dialect-file-storage.s3.us-west-2.amazonaws.com/avatars/dialect-logo.png
                    actions:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            const: link
                          label:
                            type: string
                            minLength: 1
                            maxLength: 30
                          url:
                            type: string
                            format: uri
                            minLength: 1
                            maxLength: 300
                        required:
                          - type
                          - label
                          - url
                      maxItems: 3
                      description: Alert actions
                      example:
                        - type: link
                          label: Open Link
                          url: https://dialect.to
                  required:
                    - title
                    - body
                topicId:
                  type:
                    - string
                    - 'null'
                  format: uuid
                  description: >-
                    Optional topic ID to categorize the alert. Must be created
                    in advance and belong to the authenticated app. If absent,
                    the alert is uncategorized. If invalid or unauthorized, the
                    request will fail.
                data:
                  type: object
                  propertyNames:
                    type: string
                    pattern: ^[a-zA-Z0-9_-]+$
                    minLength: 1
                    maxLength: 64
                  additionalProperties:
                    type: string
                    minLength: 1
                    maxLength: 500
                  description: >-
                    Additional data to be sent with the alert. For push
                    notifications, this data will be available in the
                    notification payload and can be used by the app to handle
                    the notification. Common use cases include deep linking,
                    custom actions, or passing context to the app.
                  example:
                    type: transaction
                    transactionId: '123'
                    amount: '100'
                push:
                  type: object
                  properties:
                    showNotification:
                      type: boolean
                      default: true
                      description: >-
                        Whether to show the notification. When false, the
                        notification will be delivered silently without showing
                        any UI notification.
                    playNotificationSound:
                      type: boolean
                      default: true
                      description: >-
                        Whether to play notification sound. When false, the
                        notification will be delivered without sound on iOS and
                        best-effort on Android.
                  description: Push notification specific configuration.
                  default: {}
                recipient:
                  anyOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          const: subscriber
                        walletAddress:
                          type: string
                          description: User wallet address
                          example: 6CxnSjtasq5Tzwb4b93AhLofXtiDvMpQ2vTkWdSZqTH7
                      required:
                        - type
                        - walletAddress
                      example:
                        type: subscriber
                        walletAddress: 6CxnSjtasq5Tzwb4b93AhLofXtiDvMpQ2vTkWdSZqTH7
                    - type: object
                      properties:
                        type:
                          type: string
                          const: subscribers
                        walletAddresses:
                          type: array
                          items:
                            type: string
                            description: User wallet address
                            example: 6CxnSjtasq5Tzwb4b93AhLofXtiDvMpQ2vTkWdSZqTH7
                          minItems: 1
                          maxItems: 10000
                      required:
                        - type
                        - walletAddresses
                      example:
                        type: subscribers
                        walletAddresses:
                          - 6CxnSjtasq5Tzwb4b93AhLofXtiDvMpQ2vTkWdSZqTH7
                          - 7CxnSjtasq5Tzwb4b93AhLofXtiDvMpQ2vTkWdSZqTH8
                    - type: object
                      properties:
                        type:
                          type: string
                          const: all-subscribers
                      required:
                        - type
                      example:
                        type: all-subscribers
              required:
                - channels
                - message
                - recipient
      responses:
        '202':
          description: Message sent successfully
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                required:
                  - error
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - application: []
components:
  securitySchemes:
    application:
      type: apiKey
      description: API key to authorize app-level requests
      name: x-dialect-api-key
      in: header

````