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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'