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/