Customer.io · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Customer.io App Design Studio API
21 actions
21 updates
phrasing
extends
openapi/customer-io-design-studio-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 21 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/design_studio/folders'].get
$.paths['/v1/design_studio/folders'].post
$.paths['/v1/design_studio/folders/{id}'].get
$.paths['/v1/design_studio/folders/{id}'].put
$.paths['/v1/design_studio/folders/{id}'].delete
$.paths['/v1/design_studio/emails'].get
$.paths['/v1/design_studio/emails'].post
$.paths['/v1/design_studio/emails/{id}'].get
$.paths['/v1/design_studio/emails/{id}'].put
$.paths['/v1/design_studio/emails/{id}'].delete
$.paths['/v1/design_studio/emails/{id}/languages'].get
$.paths['/v1/design_studio/emails/{id}/languages'].post
$.paths['/v1/design_studio/emails/{id}/languages/{language}'].get
$.paths['/v1/design_studio/emails/{id}/languages/{language}'].put
$.paths['/v1/design_studio/emails/{id}/languages/{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 Design Studio API
version: 1.0.0
extends: openapi/customer-io-design-studio-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: 20
- target: $.paths['/v1/design_studio/folders'].get
update:
x-apievangelist-phrasing:
intent: List Design Studio folders
effect: read
questions:
- What folders do I have in Design Studio?
- Can I list Design Studio folders created after a certain date?
instructions:
- text: List the Design Studio folders under {parent_folder_id}.
slots:
parent_folder_id: query.parent_folder_id
- text: Show Design Studio folders sorted by {sort_by}.
slots:
sort_by: query.sort_by
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/folders'].post
update:
x-apievangelist-phrasing:
intent: Create a Design Studio folder
effect: write
questions:
- How do I create a folder in Design Studio for my templates?
- Can I create a Design Studio subfolder inside another folder?
instructions:
- text: Create a Design Studio folder named {name}.
slots:
name: requestBody.name
- text: Create Design Studio folder {name} under {parent_folder_id}.
slots:
name: requestBody.name
parent_folder_id: requestBody.parent_folder_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/folders/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a Design Studio folder
effect: read
questions:
- How do I look up a Design Studio folder by its UUID?
- Which parent does a Design Studio folder belong to?
instructions:
- text: Get Design Studio folder {id}.
slots:
id: path.id
- text: Show details of Design Studio folder {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/folders/{id}'].put
update:
x-apievangelist-phrasing:
intent: Rename or move a Design Studio folder
effect: write
questions:
- Can I rename a Design Studio folder?
- If I move a Design Studio folder, do its files move too?
instructions:
- text: Rename Design Studio folder {id} to {name}.
slots:
id: path.id
name: requestBody.name
- text: Move Design Studio folder {id} into {parent_folder_id}.
slots:
id: path.id
parent_folder_id: requestBody.parent_folder_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/folders/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Design Studio folder and contents
effect: destructive
questions:
- How do I delete a Design Studio folder along with everything in it?
- Why can't I delete a Design Studio folder with emails used in campaigns?
instructions:
- text: Delete Design Studio folder {id} and all its files.
slots:
id: path.id
- text: Remove Design Studio folder {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails'].get
update:
x-apievangelist-phrasing:
intent: List Design Studio emails
effect: read
questions:
- What emails have I built in Design Studio?
- Can I list only Design Studio emails that are templates or have translations?
instructions:
- text: List my Design Studio emails.
- text: Show Design Studio emails in folder {parent_folder_id}.
slots:
parent_folder_id: query.parent_folder_id
- text: List Design Studio emails where template is {is_template}.
slots:
is_template: query.is_template
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails'].post
update:
x-apievangelist-phrasing:
intent: Create a Design Studio email
effect: write
questions:
- How do I create a new email in Design Studio through the API?
- Can I save a Design Studio email as a template?
instructions:
- text: Create a Design Studio email named {name}.
slots:
name: requestBody.name
- text: Create Design Studio email {name} with content {content}.
slots:
name: requestBody.name
content: requestBody.content
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a Design Studio email
effect: read
questions:
- How do I get the content and envelope of a Design Studio email?
- Does fetching a Design Studio email include its translations?
instructions:
- text: Get Design Studio email {id}.
slots:
id: path.id
- text: Show the content and envelope of Design Studio email {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a Design Studio email
effect: write
questions:
- How do I change the subject or content of a Design Studio email?
- Does updating a Design Studio email publish it?
instructions:
- text: Rename Design Studio email {id} to {name}.
slots:
id: path.id
name: requestBody.name
- text: Update the content of Design Studio email {id} to {content}.
slots:
id: path.id
content: requestBody.content
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Design Studio email
effect: destructive
questions:
- How do I delete an email from Design Studio?
- Can I delete a Design Studio email linked to a campaign?
instructions:
- text: Delete Design Studio email {id}.
slots:
id: path.id
- text: Remove Design Studio email {id} and its translations.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}/languages'].get
update:
x-apievangelist-phrasing:
intent: List translations of a Design Studio email
effect: read
questions:
- Which languages is a Design Studio email translated into?
- How do I get every translation of one Design Studio email?
instructions:
- text: List translations of Design Studio email {id}.
slots:
id: path.id
- text: Show all language versions of Design Studio email {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}/languages'].post
update:
x-apievangelist-phrasing:
intent: Add a translation to a Design Studio email
effect: write
questions:
- How do I add a French version of a Design Studio email?
- If I skip the content when adding a translation, what gets copied?
instructions:
- text: Add a {language} translation to Design Studio email {id}.
slots:
language: requestBody.language
id: path.id
- text: Create the {language} version of Design Studio email {id} with content {content}.
slots:
language: requestBody.language
id: path.id
content: requestBody.content
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}/languages/{language}'].get
update:
x-apievangelist-phrasing:
intent: Get one translation of a Design Studio email
effect: read
questions:
- How do I see the Spanish version of a Design Studio email?
- Can I fetch a Design Studio email translation by language code?
instructions:
- text: Get the {language} translation of Design Studio email {id}.
slots:
language: path.language
id: path.id
- text: Show Design Studio email {id} in {language}.
slots:
id: path.id
language: path.language
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}/languages/{language}'].put
update:
x-apievangelist-phrasing:
intent: Update a Design Studio email translation
effect: write
questions:
- How do I edit the German translation of a Design Studio email?
- Does editing a Design Studio translation publish it?
instructions:
- text: Update the {language} translation of Design Studio email {id}.
slots:
language: path.language
id: path.id
- text: Set the {language} content of Design Studio email {id} to {content}.
slots:
language: path.language
id: path.id
content: requestBody.content
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/emails/{id}/languages/{language}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Design Studio email translation
effect: destructive
questions:
- How do I remove one language from a Design Studio email?
- Can I delete a translation from an email linked to a workflow?
instructions:
- text: Delete the {language} translation of Design Studio email {id}.
slots:
language: path.language
id: path.id
- text: Remove {language} from Design Studio email {id}.
slots:
language: path.language
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/components'].get
update:
x-apievangelist-phrasing:
intent: List Design Studio components
effect: read
questions:
- What reusable components have I built in Design Studio?
- Can I filter Design Studio components by their tag?
instructions:
- text: List my Design Studio components.
- text: Show Design Studio components with tag {tag}.
slots:
tag: query.tag
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/components'].post
update:
x-apievangelist-phrasing:
intent: Create a Design Studio component
effect: write
questions:
- How do I create a custom reusable component in Design Studio?
- What do I need to provide to make a new Design Studio component?
instructions:
- text: Create a Design Studio component {name} with tag {tag} and content {content}.
slots:
name: requestBody.name
tag: requestBody.tag
content: requestBody.content
- text: Add a custom component called {name} tagged {tag} using {content}.
slots:
name: requestBody.name
tag: requestBody.tag
content: requestBody.content
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/components/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a Design Studio component
effect: read
questions:
- How do I read the full content of a Design Studio component?
- Can I fetch one Design Studio component by ID?
instructions:
- text: Get Design Studio component {id}.
slots:
id: path.id
- text: Show the content of Design Studio component {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/components/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a Design Studio component
effect: write
questions:
- How do I change the content of an existing Design Studio component?
- Can I retag or move a Design Studio component?
instructions:
- text: Update Design Studio component {id} content to {content}.
slots:
id: path.id
content: requestBody.content
- text: Rename Design Studio component {id} to {name}.
slots:
id: path.id
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/design_studio/components/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Design Studio component
effect: destructive
questions:
- How do I delete a Design Studio component?
- What happens to emails that use a component I delete?
instructions:
- text: Delete Design Studio component {id}.
slots:
id: path.id
- text: Remove component {id} from Design Studio.
slots:
id: path.id
method: generated
generated: '2026-09-26'