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.
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
# 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'