Customer.io · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Customer.io App Newsletter Variants API

14 actions 14 updates phrasing extends openapi/customer-io-newsletter-variants-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/newsletters/{newsletter_id}/contents'].get
$.paths['/v1/newsletters/{newsletter_id}/contents/{content_id}'].get
$.paths['/v1/newsletters/{newsletter_id}/contents/{content_id}'].put
$.paths['/v1/newsletters/{newsletter_id}/language'].post
$.paths['/v1/newsletters/{newsletter_id}/language/{language}'].get
$.paths['/v1/newsletters/{newsletter_id}/language/{language}'].put
$.paths['/v1/newsletters/{newsletter_id}/language/{language}'].delete
$.paths['/v1/newsletters/{newsletter_id}/test_groups'].get
$.paths['/v1/newsletters/{newsletter_id}/test_groups'].post
$.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language'].post
$.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}'].get
$.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}'].put
$.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}'].delete

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 Newsletter Variants API
  version: 1.0.0
extends: openapi/customer-io-newsletter-variants-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/newsletters/{newsletter_id}/contents'].get
  update:
    x-apievangelist-phrasing:
      intent: List a newsletter's content variants
      effect: read
      questions:
      - What language and A/B test variants does my newsletter have?
      - How do I find the content IDs of a newsletter's variants?
      instructions:
      - text: List the content variants of newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      - text: Show every language and test version of newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/contents/{content_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one newsletter variant by content ID
      effect: read
      questions:
      - How do I read the content of one specific newsletter variant?
      - Can I fetch a newsletter variant by its content ID?
      instructions:
      - text: Get variant {content_id} of newsletter {newsletter_id}.
        slots:
          content_id: path.content_id
          newsletter_id: path.newsletter_id
      - text: Show newsletter {newsletter_id} content {content_id}.
        slots:
          newsletter_id: path.newsletter_id
          content_id: path.content_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/contents/{content_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a newsletter variant by content ID
      effect: write
      questions:
      - How do I change the body or subject of a newsletter variant?
      - Can I update the from address on a newsletter email variant?
      instructions:
      - text: Update content {content_id} of newsletter {newsletter_id}.
        slots:
          content_id: path.content_id
          newsletter_id: path.newsletter_id
      - text: Edit the body of newsletter {newsletter_id} variant {content_id}.
        slots:
          newsletter_id: path.newsletter_id
          content_id: path.content_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/language'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a translation to a newsletter
      effect: write
      questions:
      - How do I add a French translation to my newsletter?
      - What gets copied when I add a language to a newsletter without full content?
      instructions:
      - text: Add a language translation to newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      - text: Create a new language variant for newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/language/{language}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a newsletter translation
      effect: read
      questions:
      - How do I see the German version of a newsletter without A/B tests?
      - Can I fetch a newsletter translation by language code?
      instructions:
      - text: Get the {language} translation of newsletter {newsletter_id}.
        slots:
          language: path.language
          newsletter_id: path.newsletter_id
      - text: Show newsletter {newsletter_id} in {language}.
        slots:
          newsletter_id: path.newsletter_id
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/language/{language}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a newsletter translation
      effect: write
      questions:
      - How do I edit the Spanish translation of a newsletter that has no A/B test?
      - Can I change one language of a newsletter by language code?
      instructions:
      - text: Update the {language} translation of newsletter {newsletter_id}.
        slots:
          language: path.language
          newsletter_id: path.newsletter_id
      - text: Edit newsletter {newsletter_id}'s {language} copy.
        slots:
          newsletter_id: path.newsletter_id
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/language/{language}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a newsletter translation
      effect: destructive
      questions:
      - How do I remove a language from my newsletter?
      - Can I delete a newsletter translation after it has been sent?
      instructions:
      - text: Delete the {language} translation of newsletter {newsletter_id}.
        slots:
          language: path.language
          newsletter_id: path.newsletter_id
      - text: Remove {language} from newsletter {newsletter_id}.
        slots:
          language: path.language
          newsletter_id: path.newsletter_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/test_groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List a newsletter's A/B test groups
      effect: read
      questions:
      - What A/B test groups does my newsletter have?
      - How do I find the test group IDs for a newsletter?
      instructions:
      - text: List the A/B test groups of newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      - text: Show test groups and their content IDs for newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/test_groups'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an A/B test group for a newsletter
      effect: write
      questions:
      - How do I set up an A/B test on my newsletter?
      - Does a new newsletter test group start as a copy of the existing content?
      instructions:
      - text: Create an A/B test group for newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      - text: Add a new test group to newsletter {newsletter_id}.
        slots:
          newsletter_id: path.newsletter_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a translation to a newsletter test group
      effect: write
      questions:
      - How do I add a translation to one A/B test group of my newsletter?
      - Can each newsletter test group have its own languages?
      instructions:
      - text: Add a translation to test group {test_group_id} of newsletter {newsletter_id}.
        slots:
          test_group_id: path.test_group_id
          newsletter_id: path.newsletter_id
      - text: Create a language variant in newsletter {newsletter_id} test group {test_group_id}.
        slots:
          newsletter_id: path.newsletter_id
          test_group_id: path.test_group_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a translation in a newsletter test group
      effect: read
      questions:
      - How do I see the French version inside one A/B test group of a newsletter?
      - Can I read a translation from a specific newsletter test group?
      instructions:
      - text: Get the {language} translation in test group {test_group_id} of newsletter {newsletter_id}.
        slots:
          language: path.language
          test_group_id: path.test_group_id
          newsletter_id: path.newsletter_id
      - text: Show newsletter {newsletter_id} test group {test_group_id} in {language}.
        slots:
          newsletter_id: path.newsletter_id
          test_group_id: path.test_group_id
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a translation in a newsletter test group
      effect: write
      questions:
      - How do I edit a translation that belongs to a newsletter A/B test group?
      - Can I change one language in just one newsletter test group?
      instructions:
      - text: Update the {language} translation in test group {test_group_id} of newsletter {newsletter_id}.
        slots:
          language: path.language
          test_group_id: path.test_group_id
          newsletter_id: path.newsletter_id
      - text: Edit newsletter {newsletter_id} test group {test_group_id}'s {language} copy.
        slots:
          newsletter_id: path.newsletter_id
          test_group_id: path.test_group_id
          language: path.language
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a translation in a newsletter test group
      effect: destructive
      questions:
      - How do I remove a language from one A/B test group of my newsletter?
      - Can I delete the default language of a newsletter test group?
      instructions:
      - text: Delete the {language} translation in test group {test_group_id} of newsletter {newsletter_id}.
        slots:
          language: path.language
          test_group_id: path.test_group_id
          newsletter_id: path.newsletter_id
      - text: Remove {language} from newsletter {newsletter_id} test group {test_group_id}.
        slots:
          language: path.language
          newsletter_id: path.newsletter_id
          test_group_id: path.test_group_id
      method: generated
      generated: '2026-09-26'