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

# Retrieve a broadcast

> Fetches details and statistics for a specific broadcast.



## OpenAPI

````yaml /openapi.json get /broadcasts/{id}
openapi: 3.1.0
info:
  description: Helo API
  version: 1.0.0-beta.1
  title: Helo API
servers:
  - url: https://api.helohq.com
security: []
tags:
  - name: Activity
    description: >-
      Track and retrieve message activity, including messages, delivery and
      engagement events.
  - name: Broadcasts
    description: Manage and track broadcast email campaigns.
  - name: Channels
    description: Create and manage communication channels for organizing messages.
  - name: Domains
    description: Register, verify, and manage domains for email sending.
  - name: Sending
    description: Send transactional and broadcast emails.
  - name: Statistics
    description: Access activity statistics.
  - name: Webhooks
    description: Create and manage webhooks for event notifications.
paths:
  /broadcasts/{id}:
    get:
      tags:
        - Broadcasts
      summary: Retrieve a broadcast
      description: Fetches details and statistics for a specific broadcast.
      operationId: Broadcasts_retrieve
      parameters:
        - name: id
          in: path
          description: The broadcast ID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastDetailsResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: ruby
          source: |-
            Helo.configure do |config|
              config.api_key = ENV.fetch("HELO_API_KEY")
            end

            id = "550e8400-e29b-41d4-a716-446655440000"
            Helo::Broadcasts.retrieve(id)
        - lang: javascript
          source: |-
            import Helo from "@helo-email/sdk";

            const apiKey = process.env.HELO_API_KEY;
            const helo = new Helo(apiKey);

            const result = await helo.broadcasts.retrieve(
              "550e8400-e29b-41d4-a716-446655440000",
            );
        - lang: go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"log\"\n\t\"os\"\n\n\t\"github.com/helo-email/helo-sdk-go\"\n)\n\nfunc main() {\n\tclient := helo.NewHelo(os.Getenv(\"HELO_API_KEY\"))\n\tctx := context.Background()\n\n\tresult, err := client.Broadcasts.Retrieve(ctx, \"550e8400-e29b-41d4-a716-446655440000\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\t_ = result\n}"
        - lang: csharp
          source: var broadcast = await helo.Broadcasts.Retrieve("broadcast-id");
        - lang: python
          source: |-
            import sdk_helo_email as helo

            client = helo.Helo()  # reads HELO_API_KEY from the environment

            broadcast = client.broadcasts.retrieve("broadcast-id")
components:
  schemas:
    BroadcastDetailsResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/BroadcastStatus'
        subject:
          type: string
        completion:
          type: string
        messages:
          type: integer
          format: int32
        failed:
          type: integer
          format: int32
          description: >-
            Number of messages that failed permanently. Retrieve details via
            `GET /broadcasts/{id}/failures`.
        suppressed:
          type: integer
          format: int32
          description: >-
            Number of recipients skipped because they appear on a suppression
            list. Retrieve details via `GET /broadcasts/{id}/suppressions`.
        content:
          $ref: '#/components/schemas/BroadcastContent'
        tracking:
          $ref: '#/components/schemas/BroadcastTracking'
        statistics:
          $ref: '#/components/schemas/BroadcastStatistics'
      required:
        - id
        - createdAt
        - status
        - subject
        - completion
        - messages
        - failed
        - suppressed
        - content
        - tracking
        - statistics
    BroadcastStatus:
      enum:
        - accepted
        - processing
        - completed
        - canceled
      description: >-
        Current processing state of a broadcast. `accepted` — queued, waiting
        for the channel to become available. `processing` — actively sending
        messages. `completed` — all messages have been processed. `canceled` —
        stopped before completing.
    BroadcastContent:
      type: object
      properties:
        from:
          $ref: '#/components/schemas/MailAddress'
        replyTo:
          type: array
          items:
            $ref: '#/components/schemas/MailAddress'
          description: Reply-to addresses.
        template:
          type: object
          properties:
            subject:
              type: string
              description: Subject line.
            html:
              type: string
              description: HTML body.
            text:
              type: string
              description: Plain-text fallback body.
          required:
            - subject
        attachments:
          type: array
          items:
            type: object
            properties:
              fileName:
                type: string
                description: File name including extension.
              disposition:
                $ref: '#/components/schemas/AttachmentDisposition'
              size:
                type: integer
                format: int32
                description: File size in bytes.
            required:
              - fileName
              - disposition
              - size
          description: File attachments included with the broadcast.
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the broadcast.
        headers:
          type: object
          description: Custom email headers applied to every message.
        metadata:
          type: object
          description: Custom key/value metadata stored with the broadcast.
    BroadcastTracking:
      type: object
      properties:
        opens:
          type: boolean
          description: Whether open tracking is enabled for this broadcast.
        links:
          type: boolean
          description: Whether link click tracking is enabled for this broadcast.
      required:
        - opens
        - links
    BroadcastStatistics:
      type: object
      properties:
        sent:
          type: integer
          format: int32
          description: Total messages submitted to the mail transfer agent.
        delivered:
          type: integer
          format: int32
          description: Messages accepted by the recipient mail server.
        bounced:
          type: integer
          format: int32
          description: Messages rejected by the recipient mail server.
        opened:
          type: integer
          format: int32
          description: Unique recipients who opened the email (requires open tracking).
        clicked:
          type: integer
          format: int32
          description: >-
            Unique recipients who clicked a tracked link (requires link
            tracking).
        complained:
          type: integer
          format: int32
          description: Recipients who marked the email as spam.
        unsubscribed:
          type: integer
          format: int32
          description: Recipients who clicked the unsubscribe link.
      required:
        - sent
        - delivered
        - bounced
        - opened
        - clicked
        - complained
        - unsubscribed
    ErrorResponse:
      description: Standard error response body.
      type: object
      properties:
        type:
          description: A URI reference identifying the problem type.
          type: string
        title:
          description: Short, human-readable summary of the problem.
          type: string
        instance:
          description: URI reference identifying the specific occurrence of the problem.
          type: string
        status:
          description: HTTP status code.
          type: integer
          format: int32
        code:
          description: Application-specific error code.
          type: string
        detail:
          description: Human-readable explanation of this specific occurrence.
          type: string
        requestId:
          description: Unique request ID, useful for support correlation.
          type: string
        errors:
          description: Field-level validation errors, keyed by field name.
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ValidationError'
    MailAddress:
      type: object
      properties:
        email:
          type: string
          description: Email address. Max 254 characters.
        name:
          type: string
          description: Display name shown to recipients in their email client.
      required:
        - email
    AttachmentDisposition:
      enum:
        - attachment
        - inline
      description: >-
        How the attachment is presented. Use `attachment` for downloadable files
        and `inline` for embedded content (e.g. images referenced in HTML).
    ValidationError:
      description: A single field validation error.
      required:
        - message
      type: object
      properties:
        message:
          description: Description of the validation failure.
          type: string
  responses:
    '401':
      description: Unauthorized
    '403':
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    '404':
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    '422':
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    '500':
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````