Canopy Connect · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Reference Widgets API

8 actions 8 updates phrasing extends openapi/canopy-widgets-api-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Canopy Connect's API. It is a proposal applied on top of the contract, not a document Canopy Connect publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/teams/{teamId}/widgets'].get
$.paths['/teams/{teamId}/widgets'].post
$.paths['/teams/{teamId}/widgets/{widgetId}'].get
$.paths['/teams/{teamId}/widgets/{widgetId}'].delete
$.paths['/teams/{teamId}/widgets/{widgetId}'].patch
$.paths['/teams/{teamId}/widgets/{widgetId}/logo'].put
$.paths['/teams/{teamId}/widgets/{widgetId}/icon'].put

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 Reference Widgets API
  version: 1.0.0
extends: openapi/canopy-widgets-api-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 7
- target: $.paths['/teams/{teamId}/widgets'].get
  update:
    x-apievangelist-phrasing:
      intent: List widgets
      effect: read
      questions:
      - Which consumer-facing widgets has my team set up?
      - How do I page through all my widgets?
      instructions:
      - text: List the widgets on team {team}.
        slots:
          team: path.teamId
      - text: Show {limit} widgets on team {team}.
        slots:
          limit: query.limit
          team: path.teamId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/widgets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a widget
      effect: write
      questions:
      - How do I create a new branded widget for consumers to connect insurance?
      - Can I set a brand color and success redirect when making a widget?
      instructions:
      - text: Create a widget on team {team} with alias {alias} for {company}.
        slots:
          team: path.teamId
          alias: requestBody.public_alias
          company: requestBody.company_name
      - text: Make a new widget with brand color {color} that redirects to {url} on success.
        slots:
          color: requestBody.brand_color_hex
          url: requestBody.on_success_redirect_url
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/widgets/{widgetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a widget
      effect: read
      questions:
      - How do I see the settings of one widget?
      - What does a single widget's configuration include?
      instructions:
      - text: Get widget {widget} on team {team}.
        slots:
          widget: path.widgetId
          team: path.teamId
      - text: Show me widget {widget}.
        slots:
          widget: path.widgetId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/widgets/{widgetId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a widget
      effect: destructive
      questions:
      - How do I delete a widget I no longer use?
      - Can I remove a widget from my team?
      instructions:
      - text: Delete widget {widget} on team {team}.
        slots:
          widget: path.widgetId
          team: path.teamId
      - text: Remove widget {widget}.
        slots:
          widget: path.widgetId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/widgets/{widgetId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit an existing widget
      effect: write
      questions:
      - How do I change the intro title or success message on an existing widget?
      - Can I turn on the cobranded intro screen for a widget I already have?
      instructions:
      - text: Change the intro title of widget {widget} on team {team} to {title}.
        slots:
          widget: path.widgetId
          team: path.teamId
          title: requestBody.intro_title
      - text: Update widget {widget}'s success message to {message}.
        slots:
          widget: path.widgetId
          message: requestBody.success_message
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/widgets/{widgetId}/logo'].put
  update:
    x-apievangelist-phrasing:
      intent: Upload a widget logo
      effect: write
      questions:
      - How do I upload my company logo to a widget?
      - Can I replace the logo shown in a widget?
      instructions:
      - text: Upload {logo} as the logo for widget {widget} on team {team}.
        slots:
          logo: requestBody.logo
          widget: path.widgetId
          team: path.teamId
      - text: Replace widget {widget}'s logo.
        slots:
          widget: path.widgetId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/widgets/{widgetId}/icon'].put
  update:
    x-apievangelist-phrasing:
      intent: Upload a widget icon
      effect: write
      questions:
      - How do I upload a small icon for a widget?
      - Can I change the icon a widget displays?
      instructions:
      - text: Upload {icon} as the icon for widget {widget} on team {team}.
        slots:
          icon: requestBody.icon
          widget: path.widgetId
          team: path.teamId
      - text: Replace widget {widget}'s icon.
        slots:
          widget: path.widgetId
      method: generated
      generated: '2026-10-01'