Customer.io · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Customer.io App Broadcasts API
16 actions
16 updates
phrasing
extends
openapi/customer-io-broadcasts-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Customer.io's API. It is a proposal applied on top of the contract, not a document Customer.io publishes.
What the actions change
x-apievangelist-phrasing
Targets 16
$.info
$.paths['/v1/campaigns/{broadcast_id}/triggers/{trigger_id}/errors'].get
$.paths['/v1/broadcasts'].get
$.paths['/v1/broadcasts/{broadcast_id}'].get
$.paths['/v1/campaigns/{broadcast_id}/triggers/{trigger_id}'].get
$.paths['/v1/broadcasts/{broadcast_id}/metrics'].get
$.paths['/v1/broadcasts/{broadcast_id}/metrics/links'].get
$.paths['/v1/broadcasts/{broadcast_id}/actions'].get
$.paths['/v1/broadcasts/{broadcast_id}/messages'].get
$.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}'].get
$.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}'].put
$.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}'].get
$.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}'].put
$.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics'].get
$.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics/links'].get
$.paths['/v1/broadcasts/{broadcast_id}/triggers'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Customer.io App Broadcasts API
version: 1.0.0
extends: openapi/customer-io-broadcasts-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 15
- target: $.paths['/v1/campaigns/{broadcast_id}/triggers/{trigger_id}/errors'].get
update:
x-apievangelist-phrasing:
intent: Get validation errors for a broadcast trigger
effect: read
questions:
- Why did my API-triggered broadcast fail validation?
- Where can I see the errors a broadcast trigger produced?
instructions:
- text: Show the errors for trigger {trigger_id} of broadcast {broadcast_id}.
slots:
trigger_id: path.trigger_id
broadcast_id: path.broadcast_id
- text: List validation errors from broadcast {broadcast_id} trigger {trigger_id}.
slots:
broadcast_id: path.broadcast_id
trigger_id: path.trigger_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts'].get
update:
x-apievangelist-phrasing:
intent: List API-triggered broadcasts
effect: read
questions:
- What API-triggered broadcasts do I have set up?
- How do I find the ID of a broadcast I want to trigger?
instructions:
- text: List all my API-triggered broadcasts.
- text: Show every broadcast in this workspace with its metadata.
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a broadcast
effect: read
questions:
- How do I look up the settings of one API-triggered broadcast?
- Can I check when a specific broadcast was created and who it targets?
instructions:
- text: Get broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
- text: Show the metadata for broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{broadcast_id}/triggers/{trigger_id}'].get
update:
x-apievangelist-phrasing:
intent: Check the status of a broadcast trigger
effect: read
questions:
- Did the broadcast I just triggered finish processing?
- How do I check progress on a specific broadcast trigger?
instructions:
- text: Check the status of trigger {trigger_id} on broadcast {broadcast_id}.
slots:
trigger_id: path.trigger_id
broadcast_id: path.broadcast_id
- text: Tell me whether trigger {trigger_id} of broadcast {broadcast_id} has finished.
slots:
trigger_id: path.trigger_id
broadcast_id: path.broadcast_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/metrics'].get
update:
x-apievangelist-phrasing:
intent: Get broadcast delivery metrics over time
effect: read
questions:
- How many emails did my broadcast deliver and open each day?
- Can I see a broadcast's metrics broken into weekly steps?
instructions:
- text: Get metrics for broadcast {broadcast_id} by {period}.
slots:
broadcast_id: path.broadcast_id
period: query.period
- text: Show the last {steps} days of metrics for broadcast {broadcast_id}.
slots:
steps: query.steps
broadcast_id: path.broadcast_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/metrics/links'].get
update:
x-apievangelist-phrasing:
intent: Get link click metrics for a broadcast
effect: read
questions:
- Which links in my broadcast got the most clicks?
- Can I count only unique clicks on a broadcast's links?
instructions:
- text: Show link click metrics for broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
- text: Get unique link clicks for broadcast {broadcast_id} by {period}.
slots:
broadcast_id: path.broadcast_id
period: query.period
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions'].get
update:
x-apievangelist-phrasing:
intent: List the actions in a broadcast
effect: read
questions:
- What messages and steps make up a broadcast?
- How do I find the action IDs inside a broadcast?
instructions:
- text: List the actions in broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
- text: Show every message step of broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/messages'].get
update:
x-apievangelist-phrasing:
intent: List deliveries sent by a broadcast
effect: read
questions:
- Who received messages from my API-triggered broadcast?
- Can I filter a broadcast's deliveries to only the ones that bounced?
- Can I limit broadcast deliveries to a time range?
instructions:
- text: List deliveries from broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
- text: Show broadcast {broadcast_id} deliveries with metric {metric}.
slots:
broadcast_id: path.broadcast_id
metric: query.metric
- text: Get deliveries for broadcast {broadcast_id} sent after {start_ts}.
slots:
broadcast_id: path.broadcast_id
start_ts: query.start_ts
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one action in a broadcast
effect: read
questions:
- How do I see the content of one message in a broadcast?
- Can I read the body of a specific broadcast action?
instructions:
- text: Get action {action_id} in broadcast {broadcast_id}.
slots:
action_id: path.action_id
broadcast_id: path.broadcast_id
- text: Show the message body for broadcast {broadcast_id} action {action_id}.
slots:
broadcast_id: path.broadcast_id
action_id: path.action_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}'].put
update:
x-apievangelist-phrasing:
intent: Update a message in a broadcast
effect: write
questions:
- How do I change the email body of a broadcast message through the API?
- Can I edit a broadcast action that was built in Design Studio?
instructions:
- text: Update the content of action {action_id} in broadcast {broadcast_id}.
slots:
action_id: path.action_id
broadcast_id: path.broadcast_id
- text: Replace the message body of broadcast {broadcast_id} action {action_id}.
slots:
broadcast_id: path.broadcast_id
action_id: path.action_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}'].get
update:
x-apievangelist-phrasing:
intent: Get a translated broadcast message
effect: read
questions:
- How do I see the Spanish version of a broadcast message?
- Can I fetch one language translation of a broadcast action?
instructions:
- text: Get the {language} translation of action {action_id} in broadcast {broadcast_id}.
slots:
language: path.language
action_id: path.action_id
broadcast_id: path.broadcast_id
- text: Show broadcast {broadcast_id} action {action_id} in {language}.
slots:
broadcast_id: path.broadcast_id
action_id: path.action_id
language: path.language
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}'].put
update:
x-apievangelist-phrasing:
intent: Update a translated broadcast message
effect: write
questions:
- How do I edit the French translation of a broadcast message?
- Can I update one language of a broadcast action without touching the default?
instructions:
- text: Update the {language} translation of broadcast {broadcast_id} action {action_id}.
slots:
language: path.language
broadcast_id: path.broadcast_id
action_id: path.action_id
- text: Replace the {language} body of action {action_id} in broadcast {broadcast_id}.
slots:
language: path.language
action_id: path.action_id
broadcast_id: path.broadcast_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics'].get
update:
x-apievangelist-phrasing:
intent: Get metrics for one broadcast action
effect: read
questions:
- How is a single message in my broadcast performing?
- Can I see daily sends and opens for one broadcast action?
instructions:
- text: Get metrics for action {action_id} in broadcast {broadcast_id}.
slots:
action_id: path.action_id
broadcast_id: path.broadcast_id
- text: Show broadcast {broadcast_id} action {action_id} metrics by {period}.
slots:
broadcast_id: path.broadcast_id
action_id: path.action_id
period: query.period
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics/links'].get
update:
x-apievangelist-phrasing:
intent: Get link clicks for one broadcast action
effect: read
questions:
- Which links in a single broadcast message were clicked?
- How far back do link metrics for a broadcast action go?
instructions:
- text: Show link clicks for action {action_id} of broadcast {broadcast_id}.
slots:
action_id: path.action_id
broadcast_id: path.broadcast_id
- text: Get link metrics for broadcast {broadcast_id} action {action_id} over {steps} periods.
slots:
broadcast_id: path.broadcast_id
action_id: path.action_id
steps: query.steps
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/broadcasts/{broadcast_id}/triggers'].get
update:
x-apievangelist-phrasing:
intent: List the triggers of a broadcast
effect: read
questions:
- How many times has my broadcast been triggered via the API?
- Where do I find the trigger IDs for a broadcast?
instructions:
- text: List the triggers for broadcast {broadcast_id}.
slots:
broadcast_id: path.broadcast_id
- text: Show every time broadcast {broadcast_id} was triggered.
slots:
broadcast_id: path.broadcast_id
method: generated
generated: '2026-09-26'