Customer.io Broadcasts API

Trigger API-triggered broadcasts to send messages to groups of people based on segments or filters.

OpenAPI Specification

customer-io-broadcasts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Customer.io App Activities Broadcasts API
  description: The Customer.io App API enables developers to manage workspace resources and send messages programmatically. It provides endpoints for sending transactional messages, triggering broadcasts, managing customers and segments, retrieving campaign and newsletter data, and exporting customer information. The API uses bearer token authentication with an App API key and is designed for operations that go beyond data ingestion, such as retrieving metrics, managing message templates, and automating outbound communications from Customer.io.
  version: 1.0.0
  contact:
    name: Customer.io Support
    url: https://customer.io/contact
  termsOfService: https://customer.io/legal/terms-of-service
servers:
- url: https://api.customer.io/v1
  description: US Production Server
- url: https://api-eu.customer.io/v1
  description: EU Production Server
security:
- bearerAuth: []
tags:
- name: Broadcasts
  description: Trigger API-triggered broadcasts to send messages to groups of people based on segments or filters.
paths:
  /campaigns/{campaign_id}/triggers:
    post:
      operationId: triggerBroadcast
      summary: Trigger an API-triggered broadcast
      description: Triggers an API-triggered broadcast campaign. You can specify a segment, list of customer IDs, or a data payload to include with the broadcast. Rate limited to 1 request per 10 seconds.
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/CampaignId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastTriggerRequest'
      responses:
        '200':
          description: Broadcast triggered successfully.
        '400':
          description: Bad request. Invalid request body.
        '401':
          description: Unauthorized. Invalid App API key.
        '404':
          description: Campaign not found.
        '429':
          description: Rate limit exceeded.
components:
  parameters:
    CampaignId:
      name: campaign_id
      in: path
      required: true
      description: The unique identifier for the campaign.
      schema:
        type: integer
  schemas:
    BroadcastTriggerRequest:
      type: object
      description: A request to trigger an API-triggered broadcast.
      properties:
        ids:
          type: array
          items:
            type: string
          description: An array of customer identifiers to send the broadcast to.
        emails:
          type: array
          items:
            type: string
            format: email
          description: An array of email addresses to send the broadcast to.
        per_user_data:
          type: array
          items:
            type: object
          description: Per-customer data for personalization.
        data:
          type: object
          description: Shared data available in the broadcast template.
          additionalProperties: true
        id_ignore_missing:
          type: boolean
          description: If true, ignores IDs that do not match existing customers.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using your App API key. Pass the key in the Authorization header as Bearer {app_api_key}.
externalDocs:
  description: App API Documentation
  url: https://docs.customer.io/integrations/api/app/