Canopy Connect · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Reference Webhooks API

5 actions 5 updates phrasing extends openapi/canopy-webhooks-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 5

$.info
$.paths['/teams/{teamId}/webhooks'].get
$.paths['/teams/{teamId}/webhooks'].post
$.paths['/teams/{teamId}/webhooks/{webhookId}'].delete
$.paths['/teams/{teamId}/webhooks/{webhookId}'].patch

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 Webhooks API
  version: 1.0.0
extends: openapi/canopy-webhooks-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: 4
- target: $.paths['/teams/{teamId}/webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List webhooks
      effect: read
      questions:
      - Which webhooks are set up on my team?
      - How do I see where webhook requests are being sent?
      instructions:
      - text: List the webhooks on team {team}.
        slots:
          team: path.teamId
      - text: Show all my webhooks.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/webhooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a webhook
      effect: write
      questions:
      - How do I get notified at my own URL when pulls change?
      - Can I choose which event types trigger a new webhook?
      instructions:
      - text: Create a webhook on team {team} that sends to {url}.
        slots:
          team: path.teamId
          url: requestBody.hookUrl
      - text: Add a webhook to {url} for events {events}.
        slots:
          url: requestBody.hookUrl
          events: requestBody.eventTypes
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/webhooks/{webhookId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a webhook
      effect: destructive
      questions:
      - How do I remove a webhook I no longer use?
      - Can I delete a webhook permanently instead of disabling it?
      instructions:
      - text: Delete webhook {webhook} on team {team}.
        slots:
          webhook: path.webhookId
          team: path.teamId
      - text: Remove webhook {webhook}.
        slots:
          webhook: path.webhookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/teams/{teamId}/webhooks/{webhookId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a webhook
      effect: write
      questions:
      - Can I turn a webhook off temporarily without deleting it?
      - How do I change the event types an existing webhook listens for?
      instructions:
      - text: Set webhook {webhook} on team {team} active to {active}.
        slots:
          webhook: path.webhookId
          team: path.teamId
          active: requestBody.isActive
      - text: Change webhook {webhook} to trigger on {events}.
        slots:
          webhook: path.webhookId
          events: requestBody.eventTypes
      method: generated
      generated: '2026-10-01'