Dialect Channels API

The Channels API from Dialect — 7 operation(s) for channels.

OpenAPI Specification

dialect-channels-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dialect Alerts V2 Blink Channels API
  description: Dialect Alerts API supporting both subscriber and app authentication methods.
  version: 2.2.0-beta
servers:
- url: https://alerts-api.dial.to
  description: Dialect Production
- url: https://alerts.dialectapi.to
  description: Dialect Production
security: []
tags:
- name: Channels
paths:
  /v2/channel/email/prepare:
    post:
      responses:
        '200':
          description: Unverified email channel created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                    enum:
                    - EMAIL
                    - TELEGRAM
                  value:
                    type: string
                  verified:
                    type: boolean
                  subscribed:
                    type: boolean
                  subscribedApps:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Application ID
                          example: 255d6163-7e25-43e9-a188-c2f8d0980a4a
                        name:
                          type: string
                          minLength: 1
                          description: Application name
                          example: Dialect
                        icon:
                          type: string
                          format: uri
                          description: Icon URL
                          example: https://dialect-file-storage.s3.us-west-2.amazonaws.com/avatars/dialect-logo.png
                      required:
                      - id
                      - name
                required:
                - id
                - type
                - value
                - verified
                - subscribed
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Unauthorized
        '409':
          description: Channel already exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
      operationId: postV2ChannelEmailPrepare
      tags:
      - Channels
      parameters: []
      description: Prepare email channel for a subscriber
      security:
      - subscriber: []
      requestBody:
        content:
          application/json:
            schema:
              _def:
                unknownKeys: strip
                catchall:
                  _def:
                    typeName: ZodNever
                  ~standard:
                    version: 1
                    vendor: zod
                typeName: ZodObject
              ~standard:
                version: 1
                vendor: zod
              _cached: null
  /v2/channel/telegram/prepare:
    post:
      responses:
        '200':
          description: Telegram channel prepared successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                    enum:
                    - EMAIL
                    - TELEGRAM
                  value:
                    type: string
                  verified:
                    type: boolean
                  subscribed:
                    type: boolean
                  subscribedApps:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Application ID
                          example: 255d6163-7e25-43e9-a188-c2f8d0980a4a
                        name:
                          type: string
                          minLength: 1
                          description: Application name
                          example: Dialect
                        icon:
                          type: string
                          format: uri
                          description: Icon URL
                          example: https://dialect-file-storage.s3.us-west-2.amazonaws.com/avatars/dialect-logo.png
                      required:
                      - id
                      - name
                  verification:
                    type: object
                    properties:
                      link:
                        type: string
                    required:
                    - link
                required:
                - id
                - type
                - value
                - verified
                - subscribed
                - verification
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Unauthorized
      operationId: postV2ChannelTelegramPrepare
      tags:
      - Channels
      parameters: []
      description: Prepare telegram channel for a subscriber
      security:
      - subscriber: []
  /v2/channel/email/verify:
    post:
      responses:
        '200':
          description: Email channel verified successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                    enum:
                    - EMAIL
                    - TELEGRAM
                  value:
                    type: string
                  verified:
                    type: boolean
                  subscribed:
                    type: boolean
                  subscribedApps:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Application ID
                          example: 255d6163-7e25-43e9-a188-c2f8d0980a4a
                        name:
                          type: string
                          minLength: 1
                          description: Application name
                          example: Dialect
                        icon:
                          type: string
                          format: uri
                          description: Icon URL
                          example: https://dialect-file-storage.s3.us-west-2.amazonaws.com/avatars/dialect-logo.png
                      required:
                      - id
                      - name
                required:
                - id
                - type
                - value
                - verified
                - subscribed
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
        '401':
          description: Unauthorized
        '422':
          description: Verification error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
      operationId: postV2ChannelEmailVerify
      tags:
      - Channels
      parameters: []
      description: Verify email channel for a subscriber
      security:
      - subscriber: []
      requestBody:
        content:
          application/json:
            schema: {}
  /v2/channel/email/resend:
    post:
      responses:
        '201':
          description: Email verification resent successfully
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Unauthorized
        '409':
          description: Address already verified or does not exist yet
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
        '422':
          description: Verification error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
      operationId: postV2ChannelEmailResend
      tags:
      - Channels
      parameters: []
      description: Resend email verification for a subscriber
      security:
      - subscriber: []
  /v2/channel/email/delete:
    post:
      responses:
        '201':
          description: Email channel deleted successfully
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Unauthorized
      operationId: postV2ChannelEmailDelete
      tags:
      - Channels
      parameters: []
      description: Delete email channel for a subscriber
      security:
      - subscriber: []
  /v2/channel/telegram/delete:
    post:
      responses:
        '200':
          description: Telegram channel deleted successfully
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Unauthorized
      operationId: postV2ChannelTelegramDelete
      tags:
      - Channels
      parameters: []
      description: Delete telegram channel for a subscriber
      security:
      - subscriber: []
  /v2/channels:
    get:
      responses:
        '200':
          description: User channels retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  EMAIL:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                        enum:
                        - EMAIL
                        - TELEGRAM
                      value:
                        type: string
                      verified:
                        type: boolean
                      subscribed:
                        type: boolean
                      subscribedApps:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Application ID
                              example: 255d6163-7e25-43e9-a188-c2f8d0980a4a
                            name:
                              type: string
                              minLength: 1
                              description: Application name
                              example: Dialect
                            icon:
                              type: string
                              format: uri
                              description: Icon URL
                              example: https://dialect-file-storage.s3.us-west-2.amazonaws.com/avatars/dialect-logo.png
                          required:
                          - id
                          - name
                    required:
                    - id
                    - type
                    - value
                    - verified
                    - subscribed
                  TELEGRAM:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                        enum:
                        - EMAIL
                        - TELEGRAM
                      value:
                        type: string
                      verified:
                        type: boolean
                      subscribed:
                        type: boolean
                      subscribedApps:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Application ID
                              example: 255d6163-7e25-43e9-a188-c2f8d0980a4a
                            name:
                              type: string
                              minLength: 1
                              description: Application name
                              example: Dialect
                            icon:
                              type: string
                              format: uri
                              description: Icon URL
                              example: https://dialect-file-storage.s3.us-west-2.amazonaws.com/avatars/dialect-logo.png
                          required:
                          - id
                          - name
                    required:
                    - id
                    - type
                    - value
                    - verified
                    - subscribed
                additionalProperties: false
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
      operationId: getV2Channels
      tags:
      - Channels
      parameters: []
      description: Get user's channels and channel subscriptions
      security:
      - subscriber: []
components:
  securitySchemes:
    subscriber:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication for subscriber calls.
    application:
      type: apiKey
      description: API key to authorize app-level requests.
      name: x-dialect-api-key
      in: header