Customer.io · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Customer.io App Campaigns API

14 actions 14 updates phrasing extends openapi/customer-io-campaigns-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 14

$.info
$.paths['/v1/campaigns'].get
$.paths['/v1/campaigns/{campaign_id}'].get
$.paths['/v1/campaigns/{campaign_id}/metrics'].get
$.paths['/v1/campaigns/{campaign_id}/metrics/links'].get
$.paths['/v1/campaigns/{campaign_id}/actions'].get
$.paths['/v1/campaigns/{campaign_id}/messages'].get
$.paths['/v1/campaigns/{campaign_id}/actions/{action_id}'].get
$.paths['/v1/campaigns/{campaign_id}/actions/{action_id}'].put
$.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}'].get
$.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}'].put
$.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/metrics'].get
$.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links'].get
$.paths['/v1/campaigns/{campaign_id}/journey_metrics'].get

OpenAPI Overlay

Raw ↑
# 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 Campaigns API
  version: 1.0.0
extends: openapi/customer-io-campaigns-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: 13
- target: $.paths['/v1/campaigns'].get
  update:
    x-apievangelist-phrasing:
      intent: List campaigns
      effect: read
      questions:
      - What campaigns do I have in my workspace?
      - How do I find a campaign's ID?
      instructions:
      - text: List all my campaigns.
      - text: Show every campaign with its metadata.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a campaign
      effect: read
      questions:
      - How do I look up one campaign's settings and trigger?
      - Is a specific campaign currently active?
      instructions:
      - text: Get campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Show the metadata for campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get campaign metrics
      effect: read
      questions:
      - How is my campaign performing on sends, opens and clicks?
      - Can I get campaign metrics for a date range in my timezone?
      instructions:
      - text: Get version {version} metrics for campaign {campaign_id}.
        slots:
          version: query.version
          campaign_id: path.campaign_id
      - text: Show campaign {campaign_id} metrics from {start} to {end} using API version {version}.
        slots:
          campaign_id: path.campaign_id
          start: query.start
          end: query.end
          version: query.version
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/metrics/links'].get
  update:
    x-apievangelist-phrasing:
      intent: Get link click metrics for a campaign
      effect: read
      questions:
      - Which links across my campaign get clicked most?
      - Can I see only unique link clicks for a campaign?
      instructions:
      - text: Show link click metrics for campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Get unique link clicks for campaign {campaign_id} by {period}.
        slots:
          campaign_id: path.campaign_id
          period: query.period
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions'].get
  update:
    x-apievangelist-phrasing:
      intent: List the actions in a campaign workflow
      effect: read
      questions:
      - What steps are in my campaign workflow?
      - How do I get the action IDs of the tiles in a campaign?
      instructions:
      - text: List the actions in campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Show the workflow tiles of campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/messages'].get
  update:
    x-apievangelist-phrasing:
      intent: List deliveries sent by a campaign
      effect: read
      questions:
      - Who received messages from my campaign last week?
      - Can I include draft messages when listing a campaign's deliveries?
      instructions:
      - text: List deliveries from campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Show campaign {campaign_id} deliveries of type {type} between {start_ts} and {end_ts}.
        slots:
          campaign_id: path.campaign_id
          type: query.type
          start_ts: query.start_ts
          end_ts: query.end_ts
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions/{action_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one action in a campaign
      effect: read
      questions:
      - How do I read the content of one message in a campaign?
      - Can I see the settings of a specific campaign workflow tile?
      instructions:
      - text: Get action {action_id} in campaign {campaign_id}.
        slots:
          action_id: path.action_id
          campaign_id: path.campaign_id
      - text: Show the message body of campaign {campaign_id} action {action_id}.
        slots:
          campaign_id: path.campaign_id
          action_id: path.action_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions/{action_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a message in a campaign
      effect: write
      questions:
      - How do I change the email body of a campaign message through the API?
      - Can I update the HTTP request in a campaign webhook action?
      instructions:
      - text: Update the content of action {action_id} in campaign {campaign_id}.
        slots:
          action_id: path.action_id
          campaign_id: path.campaign_id
      - text: Replace the message body of campaign {campaign_id} action {action_id}.
        slots:
          campaign_id: path.campaign_id
          action_id: path.action_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a translated campaign message
      effect: read
      questions:
      - How do I see the German version of a campaign message?
      - Can I fetch one language translation of a campaign action?
      instructions:
      - text: Get the {language} translation of action {action_id} in campaign {campaign_id}.
        slots:
          language: path.language
          action_id: path.action_id
          campaign_id: path.campaign_id
      - text: Show campaign {campaign_id} action {action_id} in {language}.
        slots:
          campaign_id: path.campaign_id
          action_id: path.action_id
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a translated campaign message
      effect: write
      questions:
      - How do I edit the Japanese translation of a campaign message?
      - Can I change one language variant of a campaign action without affecting the default?
      instructions:
      - text: Update the {language} translation of campaign {campaign_id} action {action_id}.
        slots:
          language: path.language
          campaign_id: path.campaign_id
          action_id: path.action_id
      - text: Replace the {language} body of action {action_id} in campaign {campaign_id}.
        slots:
          language: path.language
          action_id: path.action_id
          campaign_id: path.campaign_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get metrics for one campaign action
      effect: read
      questions:
      - How is one message in my campaign performing?
      - Can I get sends and opens for a single campaign tile over a date range?
      instructions:
      - text: Get version {version} metrics for action {action_id} in campaign {campaign_id}.
        slots:
          version: query.version
          action_id: path.action_id
          campaign_id: path.campaign_id
      - text: Show campaign {campaign_id} action {action_id} metrics from {start} to {end}, version {version}.
        slots:
          campaign_id: path.campaign_id
          action_id: path.action_id
          start: query.start
          end: query.end
          version: query.version
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links'].get
  update:
    x-apievangelist-phrasing:
      intent: Get link clicks for one campaign action
      effect: read
      questions:
      - Which links in a single campaign email were clicked?
      - What's the default period for link metrics on a campaign action?
      instructions:
      - text: Show link clicks for action {action_id} of campaign {campaign_id}.
        slots:
          action_id: path.action_id
          campaign_id: path.campaign_id
      - text: Get link metrics for campaign {campaign_id} action {action_id} by {period}.
        slots:
          campaign_id: path.campaign_id
          action_id: path.action_id
          period: query.period
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/campaigns/{campaign_id}/journey_metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get campaign journey metrics
      effect: read
      questions:
      - How many people triggered, entered and were messaged by my campaign?
      - Can I see campaign journey metrics at hourly or daily resolution?
      instructions:
      - text: Get journey metrics for campaign {campaign_id} from {start} to {end} at {resolution} resolution.
        slots:
          campaign_id: path.campaign_id
          start: query.start
          end: query.end
          resolution: query.resolution
      - text: Show how many people entered campaign {campaign_id} between {start} and {end}, grouped by {resolution}.
        slots:
          campaign_id: path.campaign_id
          start: query.start
          end: query.end
          resolution: query.resolution
      method: generated
      generated: '2026-09-26'