OneSignal · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Onesignal Templates API
12 actions
12 updates
phrasing
extends
openapi/onesignal-templates-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for OneSignal's API. It is a proposal applied on top of the contract, not a document OneSignal publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/templates/{template_id}?app_id={app_id}'].get
$.paths['/templates/{template_id}?app_id={app_id}'].delete
$.paths['/templates/{template_id}?app_id={app_id}'].patch
$.paths['/templates?app_id={app_id}&limit={limit}&offset={offset}'].get
$.paths['/templates'].get
$.paths['/templates'].post
$.paths['/templates/{template_id}/copy_to_app?app_id={app_id}'].post
$.paths['/templates/{template_id}'].get
$.paths['/templates/{template_id}'].delete
$.paths['/templates/{template_id}'].patch
$.paths['/templates/{template_id}/copy_to_app'].post
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 Onesignal Templates API
version: 1.0.0
extends: openapi/onesignal-templates-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: 11
- target: $.paths['/templates/{template_id}?app_id={app_id}'].get
update:
x-apievangelist-phrasing:
intent: View a message template's content
effect: read
questions:
- What content and channel does one of my message templates hold?
- When was a particular template last updated?
instructions:
- text: Show message template {template_id} from app {app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
- text: Get the content, channel and timestamps of template {template_id} in app {app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}?app_id={app_id}'].delete
update:
x-apievangelist-phrasing:
intent: Permanently delete a message template
effect: destructive
questions:
- Can I delete a template that's still used in a Journey?
- How do I permanently remove an old message template?
instructions:
- text: Permanently delete message template {template_id} from app {app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
- text: Remove template {template_id} in app {app_id} now that it's out of every Journey.
slots:
template_id: path.template_id
app_id: query.app_id
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}?app_id={app_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a push, email or SMS template
effect: write
questions:
- Do template edits take effect immediately for API sends?
- How do I change the email body of an existing template?
instructions:
- text: Update message template {template_id} in app {app_id}, naming it {name}.
slots:
template_id: path.template_id
app_id: query.app_id
name: requestBody.name
- text: Change the email body of template {template_id} in app {app_id} to {email_body}, keeping name {name}.
slots:
template_id: path.template_id
app_id: query.app_id
email_body: requestBody.email_body
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/templates?app_id={app_id}&limit={limit}&offset={offset}'].get
update:
x-apievangelist-phrasing:
intent: Browse an app's message templates
effect: read
questions:
- Which message templates exist in my app?
- Can I see only my email templates?
instructions:
- text: List the message templates in app {app_id}.
slots:
app_id: query.app_id
- text: Show {limit} {channel} templates from app {app_id} starting at {offset}.
slots:
limit: query.limit
channel: query.channel
app_id: query.app_id
offset: query.offset
method: generated
generated: '2026-09-26'
- target: $.paths['/templates'].get
update:
x-apievangelist-phrasing:
intent: List templates (legacy endpoint)
effect: read
questions:
- Is there an older endpoint for listing an app's templates?
- Which legacy call pages through templates by channel?
instructions:
- text: Use the legacy template list for app {app_id}.
slots:
app_id: query.app_id
- text: Page the older template listing for app {app_id} on channel {channel} with limit {limit}.
slots:
app_id: query.app_id
channel: query.channel
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/templates'].post
update:
x-apievangelist-phrasing:
intent: Create a reusable message template
effect: write
questions:
- How do I make a reusable template for push, email or SMS?
- Can I create an email template with a subject line through the API?
instructions:
- text: Create a template named {name} in app {app_id} with message {contents}.
slots:
name: requestBody.name
app_id: requestBody.app_id
contents: requestBody.contents
- text: Create email template {name} in app {app_id} with subject {email_subject} and body {email_body}.
slots:
name: requestBody.name
app_id: requestBody.app_id
email_subject: requestBody.email_subject
email_body: requestBody.email_body
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}/copy_to_app?app_id={app_id}'].post
update:
x-apievangelist-phrasing:
intent: Duplicate a template into another app
effect: write
questions:
- Can I reuse a message template in a different app in my organization?
- Does a copied template get a new template ID?
instructions:
- text: Copy message template {template_id} from app {app_id} into app {target_app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
target_app_id: requestBody.target_app_id
- text: Duplicate template {template_id} of app {app_id} so app {target_app_id} has its own copy.
slots:
template_id: path.template_id
app_id: query.app_id
target_app_id: requestBody.target_app_id
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}'].get
update:
x-apievangelist-phrasing:
intent: Fetch a template by ID (legacy endpoint)
effect: read
questions:
- Is there an older endpoint to fetch a single template by ID?
- Which legacy call returns one template?
instructions:
- text: Fetch template {template_id} for app {app_id} with the legacy lookup.
slots:
template_id: path.template_id
app_id: query.app_id
- text: Use the older single-template call on {template_id} in app {app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a template (legacy endpoint)
effect: destructive
questions:
- Is there a legacy endpoint for deleting a template by ID?
- Which older call removes a template?
instructions:
- text: Delete template {template_id} in app {app_id} through the legacy endpoint.
slots:
template_id: path.template_id
app_id: query.app_id
- text: Use the older delete call to drop template {template_id} from app {app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a template's headings, subtitle or BCC
effect: write
questions:
- Can I change a push template's heading and subtitle?
- How do I add a BCC address to an email template?
instructions:
- text: Set the heading of template {template_id} in app {app_id} to {headings} and subtitle to {subtitle}.
slots:
template_id: path.template_id
app_id: query.app_id
headings: requestBody.headings
subtitle: requestBody.subtitle
- text: Add BCC {email_bcc} to email template {template_id} in app {app_id}.
slots:
email_bcc: requestBody.email_bcc
template_id: path.template_id
app_id: query.app_id
method: generated
generated: '2026-09-26'
- target: $.paths['/templates/{template_id}/copy_to_app'].post
update:
x-apievangelist-phrasing:
intent: Copy a template to a destination app (legacy)
effect: write
questions:
- Is there an older endpoint for copying a template to a destination app?
- Which legacy call copies templates across apps?
instructions:
- text: Copy template {template_id} from app {app_id} to destination {target_app_id} using the legacy endpoint.
slots:
template_id: path.template_id
app_id: query.app_id
target_app_id: requestBody.target_app_id
- text: Run the older copy call to send template {template_id} of app {app_id} to app {target_app_id}.
slots:
template_id: path.template_id
app_id: query.app_id
target_app_id: requestBody.target_app_id
method: generated
generated: '2026-09-26'